/* 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: #000615;
  --bg-secondary: #111825;
  --bg-tertiary: #1b2333;
  --bg-card: rgba(17, 24, 37, 0.85);
  --bg-card-solid: #111825;
  --bg-card-hover: rgba(27, 35, 51, 0.9);
  --bg-input: rgba(255, 255, 255, 0.05);
  --bg-table-header: rgba(21, 29, 44, 0.8);
  --bg-table-row: rgba(17, 24, 37, 0.4);
  --bg-table-row-hover: rgba(204, 144, 60, 0.05);
  --text-primary: #f7f6f4;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-inverse: #000615;
  --border-color: rgba(255, 255, 255, 0.08);
  --border-color-light: rgba(255, 255, 255, 0.12);
  --border-color-focus: rgba(204, 144, 60, 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(204, 144, 60, 0.15);
  --shadow-glow: 0 0 20px rgba(204, 144, 60, 0.2);
  --shadow-focus: 0 0 0 3px rgba(204, 144, 60, 0.15);
  --overlay-bg: rgba(0, 0, 0, 0.5);
  --glass-bg: rgba(17, 24, 37, 0.8);
  --glass-border: rgba(255, 255, 255, 0.1);
  --grid-opacity: 0.015;
  --navbar-bg: rgba(0, 6, 21, 0.95);
  --navbar-border: rgba(255, 255, 255, 0.08);
  --accent-primary: #cc903c;
  --accent-primary-hover: #a97832;
  --accent-primary-rgb: 204, 144, 60;
  --accent-secondary: #e0bc8a;
  --accent-secondary-rgb: 224, 188, 138;
  --color-success: #22c55e;
  --color-danger: #ef4444;
  --color-warning: #cc903c;
  --color-info: #3b82f6;
  --color-success-text: #22c55e;
  --color-danger-text: #ef4444;
  --color-warning-text: #cc903c;
  --bs-success: #22c55e;
  --bs-success-rgb: 34, 197, 94;
  --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;
  --police-titre: 'Montaser Arabic', 'Inter', 'Montserrat', system-ui, -apple-system, sans-serif;
  --police-texte: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --t1-taille: 3rem;
  --t1-interligne: 3.5rem;
  --t1-graisse: 900;
  --t1-lettrage: -0.02em;
  --t2-taille: 1.75rem;
  --t2-interligne: 2.25rem;
  --t2-graisse: 700;
  --t2-lettrage: 0;
  --t3-taille: 1.125rem;
  --t3-interligne: 1.75rem;
  --t3-graisse: 600;
  --t3-lettrage: 0;
  --corps-taille: 1rem;
  --corps-interligne: 1.5rem;
  --corps-graisse: 400;
  --corps-lettrage: 0;
  --legende-taille: 0.75rem;
  --legende-interligne: 1rem;
  --legende-graisse: 400;
  --legende-lettrage: 0.02em;
  --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 138, app/assets/stylesheets/theme_variables.scss */
.bg-success {
  background-color: #cc903c !important;
}

/* line 142, app/assets/stylesheets/theme_variables.scss */
.btn-success {
  --bs-btn-bg: #cc903c;
  --bs-btn-border-color: #cc903c;
  --bs-btn-hover-bg: #a97832;
  --bs-btn-hover-border-color: #a97832;
  --bs-btn-active-bg: #a97832;
  --bs-btn-active-border-color: #a97832;
}

/* line 151, app/assets/stylesheets/theme_variables.scss */
.btn-outline-success {
  --bs-btn-color: #cc903c;
  --bs-btn-border-color: #cc903c;
  --bs-btn-hover-bg: #cc903c;
  --bs-btn-hover-border-color: #cc903c;
  --bs-btn-hover-color: #f7f6f4;
  --bs-btn-active-bg: #a97832;
  --bs-btn-active-border-color: #a97832;
  --bs-btn-active-color: #f7f6f4;
}

/* line 163, 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(138, 101, 48, 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(138, 101, 48, 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(138, 101, 48, 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: #8a6530;
  --accent-primary-hover: #7a5828;
  --accent-primary-rgb: 138, 101, 48;
  --accent-secondary: #b8935e;
  --accent-secondary-rgb: 184, 147, 94;
  --color-success: #16a34a;
  --color-danger: #b91c1c;
  --color-warning: #a97832;
  --color-info: #0369a1;
  --color-success-text: #16a34a;
  --color-danger-text: #b91c1c;
  --color-warning-text: #a97832;
  --shadow-glow: 0 0 15px rgba(138, 101, 48, 0.15);
  --shadow-focus: 0 0 0 3px rgba(138, 101, 48, 0.2);
}

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

/* line 228, 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 234, app/assets/stylesheets/theme_variables.scss */
.theme-switch-wrapper .theme-icon-moon {
  color: #e0bc8a;
  opacity: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* line 318, 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 327, 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 341, app/assets/stylesheets/theme_variables.scss */
.theme-preference-toggle .theme-option i {
  font-size: 14px;
}

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

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

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

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

/* line 384, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .theme-preference-toggle .theme-option.active {
  background: #16a34a;
  color: #f7f6f4;
  box-shadow: 0 2px 4px rgba(22, 163, 74, 0.3);
}

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

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

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

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

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

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

/* line 421, 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 426, 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 431, 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 437, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-subtitle,
[data-theme="light"] .section-title p {
  color: var(--text-secondary) !important;
}

/* line 443, 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 448, 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 453, 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 457, 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 464, 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 469, 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 473, 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 482, 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 486, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stocks-table tbody tr:nth-child(even) {
  background: var(--bg-primary) !important;
}

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

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

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

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

/* line 511, 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 517, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .dashboard-tabs .nav-link {
  color: var(--text-secondary) !important;
  font-weight: 600 !important;
}

/* line 521, 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 527, 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 535, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .section-header {
  border-color: var(--border-color) !important;
}

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

/* line 544, 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 549, 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 555, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-muted {
  color: var(--text-muted) !important;
}

/* line 560, 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 566, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-primary:hover {
  background: var(--accent-primary-hover) !important;
}

/* line 571, 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 577, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-secondary:hover {
  background: var(--bg-secondary) !important;
}

/* line 582, 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 587, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .btn-outline-warning:hover {
  background: #e68a00 !important;
  color: var(--text-inverse) !important;
}

/* line 594, 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 600, 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 606, 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 613, 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 620, 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 627, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .forecast-cell .badge {
  font-weight: 600 !important;
}

/* line 633, 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 638, 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 643, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .text-warning {
  color: var(--color-warning) !important;
  font-weight: 600 !important;
}

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

/* line 651, 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 652, 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 653, 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 656, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .badge {
  font-weight: 600 !important;
}

/* line 661, 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 665, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .stock-detail-expanded * {
  color: var(--text-primary);
}

/* line 671, 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 680, 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 685, 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 689, 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 695, 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 699, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] a:not(.btn):not(.nav-link):hover {
  color: #0284c7 !important;
  text-decoration: underline !important;
}

/* line 706, 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 710, 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 716, 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 721, app/assets/stylesheets/theme_variables.scss */
[data-theme="light"] .navbar .nav-link {
  color: var(--text-secondary) !important;
  font-weight: 500 !important;
}

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

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

/* line 737, 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: 600;
}

.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, 201, 148, 78), 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, 201, 148, 78), 0.3);
  border-top: 2px solid var(--accent-primary, #cc903c);
  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, #cc903c);
  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, #cc903c), 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(204, 144, 60, 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(204, 144, 60, 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: 700;
  line-height: 1;
  background: linear-gradient(135deg, var(--accent-primary, #cc903c), 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, #cc903c), 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: #000615 !important;
}

/* line 36, app/assets/stylesheets/landing.scss */
#main-content {
  background: #000615 !important;
  background-color: #000615 !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: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.6;
  color: #f7f6f4 !important;
  background: #000615 !important;
  background-color: #000615 !important;
  overflow-x: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

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

/* line 71, app/assets/stylesheets/landing.scss */
.navbar-dark {
  background: rgba(0, 6, 21, 0.95) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(204, 144, 60, 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, #000615 0%, #1b2333 25%, #111825 50%, #1b2333 75%, #000615 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(204, 144, 60, 0.15) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(224, 188, 138, 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(224, 188, 138, 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(204, 144, 60, 0.2) 1px, transparent 1px), linear-gradient(90deg, rgba(204, 144, 60, 0.2) 1px, transparent 1px), linear-gradient(rgba(224, 188, 138, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(224, 188, 138, 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(204, 144, 60, 0.3) 0%, transparent 30%), radial-gradient(circle at 85% 85%, rgba(224, 188, 138, 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(224, 188, 138, 0.2) 0%, transparent 40%), radial-gradient(circle at 80% 20%, rgba(204, 144, 60, 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(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 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(204, 144, 60, 0.1) 49%, rgba(204, 144, 60, 0.1) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(224, 188, 138, 0.1) 49%, rgba(224, 188, 138, 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: #f7f6f4;
}

/* line 175, app/assets/stylesheets/landing.scss */
.hero-section .hero-content .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #cc903c;
  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: 700;
  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, #cc903c 0%, #e0bc8a 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: #cc903c;
  margin-bottom: 0.5rem;
  text-shadow: 0 0 20px rgba(204, 144, 60, 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(204, 144, 60, 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: #f7f6f4;
}

/* 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, #1b2333 0%, #1b2333 100%);
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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: #f7f6f4;
}

/* 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: #22c55e;
}

/* line 338, app/assets/stylesheets/landing.scss */
.hero-section .hero-visual .dashboard-preview .dashboard-header .dashboard-status .status-dot {
  width: 8px;
  height: 8px;
  background: #22c55e;
  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: #f7f6f4;
  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: #22c55e;
  background: rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #f7f6f4;
}

/* 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: #f7f6f4;
}

/* line 438, app/assets/stylesheets/landing.scss */
.features-section {
  padding: 100px 0;
  background: linear-gradient(135deg, #050811 0%, #000615 25%, #1b2333 50%, #000615 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(204, 144, 60, 0.1) 0%, transparent 50%), radial-gradient(circle at 90% 90%, rgba(224, 188, 138, 0.1) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(224, 188, 138, 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(204, 144, 60, 0.05) 49%, rgba(204, 144, 60, 0.05) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(224, 188, 138, 0.05) 49%, rgba(224, 188, 138, 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: #f7f6f4;
  margin-bottom: 1rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(204, 144, 60, 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, #1b2333 0%, #1b2333 100%);
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #f7f6f4;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 0 30px rgba(204, 144, 60, 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(204, 144, 60, 0.4);
}

/* line 549, app/assets/stylesheets/landing.scss */
.features-section .feature-card h4 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #f7f6f4;
  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, #000615 0%, #1b2333 25%, #111825 50%, #1b2333 75%, #000615 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(224, 188, 138, 0.1) 0%, transparent 50%), radial-gradient(circle at 70% 80%, rgba(204, 144, 60, 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: #f7f6f4;
  margin-bottom: 1rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(224, 188, 138, 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, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  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(204, 144, 60, 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, #cc903c 0%, #e0bc8a 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: #f7f6f4;
  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%, #000615 25%, #1b2333 50%, #000615 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(224, 188, 138, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(204, 144, 60, 0.1) 0%, transparent 50%), radial-gradient(circle at 50% 10%, rgba(204, 144, 60, 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(224, 188, 138, 0.03) 49%, rgba(224, 188, 138, 0.03) 51%, transparent 52%), linear-gradient(-30deg, transparent 48%, rgba(204, 144, 60, 0.03) 49%, rgba(204, 144, 60, 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: #f7f6f4;
  margin-bottom: 1rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(224, 188, 138, 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, #1b2333 0%, #1b2333 100%);
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 0.3);
  box-shadow: 0 20px 40px rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #f7f6f4;
  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(204, 144, 60, 0.3);
}

/* line 753, app/assets/stylesheets/landing.scss */
.tech-stack-section .tech-item h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #f7f6f4;
  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, #cc903c 0%, #e0bc8a 25%, #667eea 50%, #764ba2 75%, #f093fb 100%);
  color: #f7f6f4;
  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(204, 144, 60, 0.5);
  }
  to {
    text-shadow: 0 0 30px rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 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: #000615;
  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(204, 144, 60, 0.15) 0%, rgba(224, 188, 138, 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: #cc903c;
}

/* line 127, app/assets/stylesheets/landing_v2.scss */
.hero-background-v2 .hero-orbs .orb-2 {
  top: 60%;
  right: 10%;
  width: 400px;
  height: 400px;
  background: #e0bc8a;
  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: #e0bc8a;
  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(204, 144, 60, 0.3);
  background: rgba(204, 144, 60, 0.05);
}

/* line 179, app/assets/stylesheets/landing_v2.scss */
.announcement-banner .announcement-badge {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 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: 700;
  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: #f7f6f4;
}

/* line 214, app/assets/stylesheets/landing_v2.scss */
.gradient-text-v2 {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 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, #cc903c 0%, #e0bc8a 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(204, 144, 60, 0.3);
}

/* line 254, app/assets/stylesheets/landing_v2.scss */
.btn-hero-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(204, 144, 60, 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: #f7f6f4;
  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(204, 144, 60, 0.5);
  background: rgba(204, 144, 60, 0.05);
  color: #f7f6f4;
}

/* 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 #000615;
  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, #cc903c, #e0bc8a);
  border: 2px solid #000615;
  margin-left: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #f7f6f4;
}

/* 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: #f7f6f4;
  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: #cc903c;
  font-weight: 600;
}

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

@keyframes pulse-dot {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(204, 144, 60, 0.7);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(204, 144, 60, 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(204, 144, 60, 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: #cc903c;
  font-size: 10px;
}

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

/* 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: #f7f6f4;
  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(204, 144, 60, 0.2), rgba(204, 144, 60, 0.1));
  color: #cc903c;
}

/* 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(224, 188, 138, 0.2), rgba(224, 188, 138, 0.1));
  color: #e0bc8a;
}

/* line 611, app/assets/stylesheets/landing_v2.scss */
.floating-icon.info {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.2), rgba(224, 188, 138, 0.1));
  color: #e0bc8a;
}

/* line 615, app/assets/stylesheets/landing_v2.scss */
.floating-icon.purple {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.2), rgba(224, 188, 138, 0.1));
  color: #e0bc8a;
}

/* 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: #f7f6f4;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

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

/* 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: 600;
  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, #cc903c 0%, #e0bc8a 100%);
  color: #000;
}

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

/* line 696, app/assets/stylesheets/landing_v2.scss */
.floating-badge.auto-badge {
  background: linear-gradient(135deg, #e0bc8a 0%, #cc903c 100%);
  color: #f7f6f4;
}

/* line 701, app/assets/stylesheets/landing_v2.scss */
.floating-badge.trending-badge {
  background: linear-gradient(135deg, #f97316 0%, #dc2626 100%);
  color: #f7f6f4;
  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: #000615;
  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: #f7f6f4;
  letter-spacing: -0.02em;
}

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

/* 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(204, 144, 60, 0.03);
  border-color: rgba(204, 144, 60, 0.15);
}

/* line 805, app/assets/stylesheets/landing_v2.scss */
.solution-card .solution-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(204, 144, 60, 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: #cc903c;
}

/* line 822, app/assets/stylesheets/landing_v2.scss */
.problem-title, .solution-title {
  font-size: 24px;
  font-weight: 700;
  color: #f7f6f4;
  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: #cc903c;
}

/* 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(204, 144, 60, 0.1);
  color: #cc903c;
  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: 700;
  color: #f7f6f4;
  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: #000615;
}

/* 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(204, 144, 60, 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(204, 144, 60, 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: #cc903c;
}

/* line 952, app/assets/stylesheets/landing_v2.scss */
.feature-card-v2 h3 {
  font-size: 20px;
  font-weight: 700;
  color: #f7f6f4;
  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: #cc903c;
  font-weight: 600;
}

/* 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: #f7f6f4;
}

/* 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 3px;
  transition: width 1s ease;
}

/* line 1023, app/assets/stylesheets/landing_v2.scss */
.meter-fill.warning {
  background: linear-gradient(135deg, #cc903c, #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: #cc903c;
}

/* 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: #000615;
  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: 700;
  color: #f7f6f4;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 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(204, 144, 60, 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: #e0bc8a;
  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: #f7f6f4;
}

/* 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: #000615;
}

/* 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, #cc903c 0%, #e0bc8a 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(204, 144, 60, 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: #cc903c;
}

/* line 1246, app/assets/stylesheets/landing_v2.scss */
.step-card-v2 h3 {
  font-size: 18px;
  font-weight: 700;
  color: #f7f6f4;
  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: #000615;
}

/* 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: #cc903c;
  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(204, 144, 60, 0.2);
}

/* line 1350, app/assets/stylesheets/landing_v2.scss */
.pricing-teaser-card.featured {
  background: rgba(204, 144, 60, 0.05);
  border-color: rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 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: #f7f6f4;
  margin-bottom: 16px;
}

/* line 1382, app/assets/stylesheets/landing_v2.scss */
.plan-price {
  font-size: 48px;
  font-weight: 700;
  color: #f7f6f4;
  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: #cc903c;
  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, #cc903c 0%, #e0bc8a 100%);
  color: #000;
}

/* line 1432, app/assets/stylesheets/landing_v2.scss */
.btn-plan-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(204, 144, 60, 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: #f7f6f4;
}

/* line 1444, app/assets/stylesheets/landing_v2.scss */
.btn-plan-secondary:hover {
  border-color: rgba(204, 144, 60, 0.5);
  color: #f7f6f4;
}

/* line 1450, app/assets/stylesheets/landing_v2.scss */
.view-all-plans {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #cc903c;
  font-size: 14px;
  font-weight: 600;
  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: #f7f6f4;
  gap: 12px;
}

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

/* 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: #f7f6f4;
  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(204, 144, 60, 0.03) 0%, #000615 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(204, 144, 60, 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(204, 144, 60, 0.15);
  color: #e0bc8a;
  font-size: 12px;
  font-weight: 600;
  border-radius: 100px;
  margin-bottom: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid rgba(204, 144, 60, 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: 700;
  color: #f7f6f4;
  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(204, 144, 60, 0.12);
  border: 1px solid rgba(204, 144, 60, 0.25);
  border-radius: 100px;
  color: #f7f6f4;
  font-size: 14px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

/* line 1593, app/assets/stylesheets/landing_v2.scss */
.b2b-feature i {
  color: #e0bc8a;
  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, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  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(204, 144, 60, 0.3);
}

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

/* 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: #f7f6f4;
  font-size: 16px;
  font-weight: 600;
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 0.6);
  color: #e0bc8a;
}

/* line 1651, app/assets/stylesheets/landing_v2.scss */
.final-cta-section {
  padding: 140px 0;
  background: #000615;
  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(204, 144, 60, 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: 700;
  color: #f7f6f4;
  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, #cc903c 0%, #e0bc8a 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(204, 144, 60, 0.3);
}

/* line 1711, app/assets/stylesheets/landing_v2.scss */
.btn-final-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 40px rgba(204, 144, 60, 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%, #000615 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, #cc903c 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, #e0bc8a 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, #cc903c 0%, #00b8d4 100%);
  color: #000615;
  font-size: 10px;
  font-weight: 700;
  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: 600;
  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(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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, #cc903c, #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: #cc903c;
  margin-bottom: 16px;
  opacity: 0.9;
  padding: 4px 10px 4px 8px;
  background: rgba(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 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: #cc903c;
  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: #f7f6f4;
  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: 600;
}

/* line 2520, app/assets/stylesheets/landing_v2.scss */
.device-step-list li i {
  color: #cc903c;
  font-size: 10px;
  flex-shrink: 0;
  background: rgba(204, 144, 60, 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(0, 6, 21, 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(0, 6, 21, 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: 600;
  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(0, 6, 21, 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;
  }
}
@charset "UTF-8";
/* line 22, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) {
  background: #000615;
}

/* 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: #000615;
}

/* 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: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
  -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;
  text-decoration: none;
}

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

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

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

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

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

/* line 121, 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 136, app/assets/stylesheets/landing_v3.scss */
.v3-lang-btn i {
  font-size: 0.55rem;
  transition: transform 0.2s;
}

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

/* line 144, app/assets/stylesheets/landing_v3.scss */
.v3-lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: rgba(0, 6, 21, 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 159, app/assets/stylesheets/landing_v3.scss */
.v3-lang-menu form {
  margin: 0;
}

/* line 162, 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 176, app/assets/stylesheets/landing_v3.scss */
.v3-lang-option:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f7f6f4;
}

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

/* line 180, 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 195, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger:hover {
  background: rgba(255, 255, 255, 0.15);
}

/* line 197, 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 206, app/assets/stylesheets/landing_v3.scss */
.v3-hamburger.is-open .v3-hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}

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

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

/* line 212, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 280px;
  height: 100vh;
  background: rgba(0, 6, 21, 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 228, app/assets/stylesheets/landing_v3.scss */
.v3-nav-overlay.is-open {
  transform: translateX(0);
}

/* line 230, 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: 600;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: color 0.2s;
}

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

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

/* line 247, 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 254, app/assets/stylesheets/landing_v3.scss */
.landing-v3 {
  background: transparent;
  position: relative;
  z-index: 1;
  overflow-anchor: none;
  color: var(--text-primary, #f7f6f4);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

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

/* line 269, 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 281, 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 292, 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 308, app/assets/stylesheets/landing_v3.scss */
.v3-space-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  background: #000615;
}

/* line 318, app/assets/stylesheets/landing_v3.scss */
.v3-space-bg canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* line 324, app/assets/stylesheets/landing_v3.scss */
.v3-space-bg::before {
  display: none;
}

/* line 328, app/assets/stylesheets/landing_v3.scss */
.v3-space-bg::after {
  display: none;
}

/* line 334, 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 346, 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 354, app/assets/stylesheets/landing_v3.scss */
.v3-intro-brand-text {
  font-size: clamp(2.25rem, 4.4vw, 3.5rem);
  font-weight: 300;
  letter-spacing: clamp(0.1em, 2vw, 0.3em);
  color: #f7f6f4;
  opacity: 0;
  text-transform: uppercase;
  text-shadow: 0 0 60px rgba(255, 255, 255, 0.3);
}

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

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

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

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

/* line 397, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title {
  font-size: clamp(2.25rem, 4.4vw, 3.5rem);
  font-weight: 300;
  line-height: 1.28;
  letter-spacing: 0.005em;
  margin-bottom: 20px;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
}

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

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

/* line 418, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title .char {
  display: inline-block;
}

/* line 423, app/assets/stylesheets/landing_v3.scss */
.v3-hero-title-gradient {
  text-shadow: none;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 50%, #cc903c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 434, app/assets/stylesheets/landing_v3.scss */
.v3-hero-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 400;
  color: #e2e8f0;
  margin-bottom: 40px;
  max-width: 540px;
  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 450, app/assets/stylesheets/landing_v3.scss */
.v3-hero-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

/* line 459, app/assets/stylesheets/landing_v3.scss */
.v3-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 36px;
  background: linear-gradient(135deg, #cc903c, #b17a2e);
  color: #000615;
  font-weight: 600;
  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(204, 144, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
}

/* line 475, 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 483, app/assets/stylesheets/landing_v3.scss */
.v3-btn-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 48px rgba(204, 144, 60, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  color: #000615;
  text-decoration: none;
}

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

/* line 495, app/assets/stylesheets/landing_v3.scss */
.v3-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 36px;
  background: #111825;
  color: #f7f6f4;
  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 510, app/assets/stylesheets/landing_v3.scss */
.v3-btn-ghost:hover {
  border-color: rgba(204, 144, 60, 0.5);
  color: #cc903c;
  text-decoration: none;
  background: rgba(204, 144, 60, 0.08);
  box-shadow: 0 0 24px rgba(204, 144, 60, 0.15);
  transform: translateY(-2px);
}

/* line 520, 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: #cc903c;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

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

/* line 549, 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 559, app/assets/stylesheets/landing_v3.scss */
.v3-problem-sticky {
  width: 100%;
}

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

/* line 569, app/assets/stylesheets/landing_v3.scss */
.v3-stat-big {
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  font-weight: 600;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 50%, #cc903c 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 582, app/assets/stylesheets/landing_v3.scss */
.v3-stat-label {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  color: #94a3b8;
  margin-bottom: 80px;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
}

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

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

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

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

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

/* line 626, 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 636, app/assets/stylesheets/landing_v3.scss */
.v3-device-container {
  position: relative;
  perspective: 1200px;
}

/* line 641, 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(204, 144, 60, 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, #000615);
  transform-style: preserve-3d;
  transform: rotateY(0deg) rotateX(0deg);
  transition: transform 0.1s linear;
}

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

/* line 665, 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 678, 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 688, app/assets/stylesheets/landing_v3.scss */
.v3-device-screen.active {
  opacity: 1;
}

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

/* line 700, app/assets/stylesheets/landing_v3.scss */
.v3-device-screen-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1), rgba(204, 144, 60, 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 713, app/assets/stylesheets/landing_v3.scss */
.v3-solution-steps {
  position: relative;
}

/* line 717, 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 726, app/assets/stylesheets/landing_v3.scss */
.v3-solution-step.active {
  opacity: 1;
  transform: translateY(0);
}

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

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

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

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

/* line 760, 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 768, app/assets/stylesheets/landing_v3.scss */
.v3-step-features li i {
  color: #cc903c;
  font-size: 0.8rem;
}

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

/* line 784, 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 791, app/assets/stylesheets/landing_v3.scss */
.v3-progress-dot.active {
  background: #cc903c;
  box-shadow: 0 0 12px rgba(204, 144, 60, 0.5);
  transform: scale(1.3);
}

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

/* line 808, 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 821, 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 831, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-wrap::before {
  left: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), transparent);
}

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

/* line 842, 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 854, 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 862, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-symbol {
  color: #f7f6f4;
}

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

/* line 873, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-action.buy {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 878, app/assets/stylesheets/landing_v3.scss */
.v3-ticker-item .ticker-action.sell {
  background: rgba(208, 101, 92, 0.15);
  color: #d0655c;
}

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

/* line 890, 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 899, app/assets/stylesheets/landing_v3.scss */
.v3-stat-item {
  opacity: 0;
  transform: translateY(30px);
}

/* line 904, app/assets/stylesheets/landing_v3.scss */
.v3-stat-value {
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  font-weight: 600;
  background: linear-gradient(135deg, #cc903c, #cc903c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
  margin-bottom: 8px;
}

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

/* line 922, app/assets/stylesheets/landing_v3.scss */
.v3-proof-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
}

/* line 931, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card {
  flex: 0 1 200px;
  min-width: 0;
  background: #111825;
  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 946, 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 956, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card:hover {
  transform: translateY(-6px);
  border-color: rgba(204, 144, 60, 0.3);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 40px rgba(204, 144, 60, 0.05);
}

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

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

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

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

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

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

/* line 973, 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 981, app/assets/stylesheets/landing_v3.scss */
.v3-proof-card .card-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f7f6f4;
}

/* line 987, 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(204, 144, 60, 0.1);
  color: #cc903c;
}

/* line 1002, 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 1011, app/assets/stylesheets/landing_v3.scss */
.v3-access-content {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

/* line 1017, app/assets/stylesheets/landing_v3.scss */
.v3-access-title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 16px;
  opacity: 0;
}

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

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

/* line 1039, 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 1049, app/assets/stylesheets/landing_v3.scss */
.v3-cta-final {
  position: relative;
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
}

/* line 1056, app/assets/stylesheets/landing_v3.scss */
.v3-cta-glow {
  position: absolute;
  inset: -40px;
  background: radial-gradient(circle, rgba(204, 144, 60, 0.2), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* line 1064, app/assets/stylesheets/landing_v3.scss */
.v3-btn-magnetic {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 22px 52px;
  background: linear-gradient(135deg, #cc903c, #bd8331, #d19c50);
  background-size: 200% 200%;
  color: #000615;
  font-weight: 600;
  font-size: 1.15rem;
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 8px 40px rgba(204, 144, 60, 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;
}

/* line 1085, 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%);
  opacity: 0;
  transition: opacity 0.2s;
}

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

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

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

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

/* line 1130, 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 1138, app/assets/stylesheets/landing_v3.scss */
.v3-faq-item {
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 28px;
}

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

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

/* line 1162, 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 1170, 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(204, 144, 60, 0.1);
  color: #cc903c;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 24px;
}

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

/* line 1192, 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 1200, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 40px;
}

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

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

/* line 1224, 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 1234, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
  }
  /* line 1238, app/assets/stylesheets/landing_v3.scss */
  .v3-solution {
    height: 300vh;
  }
  /* line 1242, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  /* line 1248, app/assets/stylesheets/landing_v3.scss */
  .v3-device-mockup {
    max-width: 500px;
  }
  /* line 1252, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-steps {
    position: relative;
    min-height: 200px;
  }
  /* line 1257, app/assets/stylesheets/landing_v3.scss */
  .v3-stats-row {
    gap: 24px;
  }
  /* line 1261, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-cards {
    max-width: 680px;
  }
  /* line 1265, app/assets/stylesheets/landing_v3.scss */
  .v3-faq-grid {
    gap: 16px;
  }
}

@media (max-width: 767px) {
  /* line 1274, app/assets/stylesheets/landing_v3.scss */
  .v3-hero {
    padding: 0 16px;
    min-height: 100svh;
  }
  /* line 1279, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-title {
    font-size: clamp(2.2rem, 9vw, 3.5rem);
  }
  /* line 1283, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-cta {
    flex-direction: column;
    gap: 12px;
  }
  /* line 1287, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-cta a {
    width: 100%;
    justify-content: center;
  }
  /* line 1293, app/assets/stylesheets/landing_v3.scss */
  .v3-scroll-indicator {
    bottom: 24px;
  }
  /* line 1298, app/assets/stylesheets/landing_v3.scss */
  .v3-problem {
    min-height: auto;
    padding: 80px 16px;
  }
  /* line 1303, app/assets/stylesheets/landing_v3.scss */
  .v3-problem-sticky {
    position: relative;
    height: auto;
  }
  /* line 1308, app/assets/stylesheets/landing_v3.scss */
  .v3-stat-big {
    font-size: clamp(3rem, 15vw, 5rem);
  }
  /* line 1312, app/assets/stylesheets/landing_v3.scss */
  .v3-problem-lines p {
    font-size: clamp(1.2rem, 5vw, 1.8rem);
  }
  /* line 1317, app/assets/stylesheets/landing_v3.scss */
  .v3-solution {
    padding: 60px 16px;
    height: auto;
  }
  /* line 1322, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-pin {
    height: auto;
    padding: 0;
    flex-direction: column;
  }
  /* line 1328, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  /* line 1333, app/assets/stylesheets/landing_v3.scss */
  .v3-device-mockup {
    max-width: 100%;
  }
  /* line 1337, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-steps {
    position: relative;
    min-height: auto;
  }
  /* line 1342, 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 1352, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-step:last-child {
    margin-bottom: 0;
  }
  /* line 1357, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-progress {
    display: none;
  }
  /* line 1362, app/assets/stylesheets/landing_v3.scss */
  .v3-stats-row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  /* line 1368, app/assets/stylesheets/landing_v3.scss */
  .v3-ticker-wrap {
    display: none;
  }
  /* line 1373, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-cards {
    gap: 10px;
    padding: 0 12px;
  }
  /* line 1378, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card {
    flex: 0 1 calc(50% - 5px);
  }
  /* line 1382, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card {
    padding: 14px;
    border-radius: 12px;
  }
  /* line 1386, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-icon {
    font-size: 0.9rem;
    margin-bottom: 6px;
  }
  /* line 1387, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-label {
    font-size: 0.65rem;
  }
  /* line 1388, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-value {
    font-size: 0.85rem;
  }
  /* line 1389, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-badge {
    font-size: 0.6rem;
    padding: 2px 6px;
  }
  /* line 1393, app/assets/stylesheets/landing_v3.scss */
  .v3-btn-magnetic {
    padding: 16px 36px;
    font-size: 1rem;
  }
  /* line 1399, app/assets/stylesheets/landing_v3.scss */
  .v3-faq-grid {
    grid-template-columns: 1fr;
  }
  /* line 1404, app/assets/stylesheets/landing_v3.scss */
  .v3-b2b-cta {
    flex-direction: column;
    align-items: center;
  }
  /* line 1409, app/assets/stylesheets/landing_v3.scss */
  .v3-b2b-features {
    flex-direction: column;
    align-items: center;
  }
}

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

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

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

/* line 1447, app/assets/stylesheets/landing_v3.scss */
.v3-features-title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  color: #f7f6f4;
  margin-bottom: 12px;
}

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

/* line 1461, 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 1469, 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 1476, app/assets/stylesheets/landing_v3.scss */
.v3-feature-card:hover {
  transform: translateY(-4px);
  border-color: rgba(204, 144, 60, 0.25);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 40px rgba(204, 144, 60, 0.06);
}

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

/* line 1487, 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 1494, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-header {
  display: flex;
  gap: 5px;
  padding: 8px 12px;
  background: #111825;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

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

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

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

/* line 1510, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dot:last-child {
  background: #57c79a;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 1589, 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 1596, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-sent-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.6rem;
  color: #94a3b8;
}

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

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

/* line 1613, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-signal {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: #111825;
  border-radius: 6px;
}

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

/* line 1629, 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 1638, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge {
  font-size: 0.5rem;
  font-weight: 600;
  padding: 2px 5px;
  border-radius: 3px;
  text-transform: uppercase;
}

/* line 1645, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge.buy {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 1650, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge.sell {
  background: rgba(208, 101, 92, 0.15);
  color: #d0655c;
}

/* line 1656, 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 1665, app/assets/stylesheets/landing_v3.scss */
.v3-signal-bar-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #cc903c, #cc903c);
  transition: width 0.6s ease;
}

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

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

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

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

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

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

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

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

/* line 1726, app/assets/stylesheets/landing_v3.scss */
.v3-chart-signal-long {
  font-size: 0.6rem;
  font-weight: 600;
  color: #cc903c;
  background: rgba(204, 144, 60, 0.1);
  padding: 3px 8px;
  border-radius: 4px;
}

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

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

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

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

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

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

/* line 1771, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  background: #111825;
  border-radius: 6px;
  border: 1px solid transparent;
}

/* line 1780, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat.winner {
  border-color: rgba(204, 144, 60, 0.3);
  background: rgba(204, 144, 60, 0.05);
}

/* line 1786, app/assets/stylesheets/landing_v3.scss */
.v3-sim-badge-winner {
  font-size: 0.55rem;
  color: #cc903c;
}

/* line 1791, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat-name {
  font-size: 0.68rem;
  color: #94a3b8;
  font-weight: 600;
}

/* line 1797, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat-val {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 600;
  color: #cc903c;
}

/* line 1803, app/assets/stylesheets/landing_v3.scss */
.v3-sim-strat-val.neutral {
  color: #94a3b8;
}

/* line 1806, 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 1813, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-item {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* line 1819, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-lbl {
  font-size: 0.5rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 1826, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-val {
  font-size: 0.7rem;
  font-weight: 600;
  color: #e2e8f0;
}

/* line 1831, app/assets/stylesheets/landing_v3.scss */
.v3-sim-meta-val.danger {
  color: #d0655c;
}

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

/* line 1839, app/assets/stylesheets/landing_v3.scss */
.v3-feature-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

/* line 1846, 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(204, 144, 60, 0.15), rgba(204, 144, 60, 0.1));
  color: #cc903c;
  font-size: 0.9rem;
  flex-shrink: 0;
}

/* line 1859, app/assets/stylesheets/landing_v3.scss */
.v3-feature-name {
  font-size: 1.15rem;
  font-weight: 600;
  color: #f7f6f4;
  margin: 0;
}

/* line 1866, app/assets/stylesheets/landing_v3.scss */
.v3-feature-desc {
  font-size: 0.85rem;
  color: #94a3b8;
  line-height: 1.5;
  margin-bottom: 16px;
}

/* line 1873, app/assets/stylesheets/landing_v3.scss */
.v3-feature-highlights {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 1881, 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 1888, app/assets/stylesheets/landing_v3.scss */
.v3-feature-highlights li i {
  color: #cc903c;
  font-size: 0.6rem;
}

@media (max-width: 900px) {
  /* line 1897, app/assets/stylesheets/landing_v3.scss */
  .v3-features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  /* line 1902, app/assets/stylesheets/landing_v3.scss */
  .v3-features {
    padding: 80px 16px;
  }
  /* line 1906, app/assets/stylesheets/landing_v3.scss */
  .v3-feature-card {
    border-radius: 16px;
  }
  /* line 1910, app/assets/stylesheets/landing_v3.scss */
  .v3-feature-visual {
    padding: 16px 16px 0;
  }
  /* line 1914, app/assets/stylesheets/landing_v3.scss */
  .v3-feature-content {
    padding: 16px;
  }
}

/* line 1922, app/assets/stylesheets/landing_v3.scss */
.v3-section-badge {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  margin-bottom: 16px;
}

/* line 1940, app/assets/stylesheets/landing_v3.scss */
.v3-reviews-bandeau {
  padding: 48px 0;
  overflow: hidden;
  position: relative;
}

/* line 1946, 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 1954, 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 1961, 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 1971, app/assets/stylesheets/landing_v3.scss */
.v3-review-card {
  flex-shrink: 0;
  width: 280px;
  padding: 24px;
  border-radius: 16px;
  background: rgba(0, 6, 21, 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 1984, app/assets/stylesheets/landing_v3.scss */
.v3-review-card:hover {
  border-color: rgba(255, 255, 255, 0.2);
}

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

/* line 1995, app/assets/stylesheets/landing_v3.scss */
.v3-review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

/* line 2003, app/assets/stylesheets/landing_v3.scss */
.v3-review-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 2009, 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 2020, app/assets/stylesheets/landing_v3.scss */
.v3-review-stars {
  color: #cc903c;
  font-size: 14px;
  display: flex;
  gap: 2px;
}

/* line 2027, 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 2034, app/assets/stylesheets/landing_v3.scss */
.v3-review-author {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}

/* line 2040, 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 2047, app/assets/stylesheets/landing_v3.scss */
  .v3-reviews-bandeau {
    padding: 32px 0;
  }
  /* line 2051, app/assets/stylesheets/landing_v3.scss */
  .v3-review-card {
    width: 240px;
    padding: 20px;
  }
}

/* line 2067, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .section-title-v2,
.landing-v3 .v3-opp-heading,
.landing-v3 h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.005em;
}

/* line 2078, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .v3-opp-score-value,
.landing-v3 .card-value,
.landing-v3 .stat-value,
.landing-v3 .accuracy-value {
  font-weight: 600;
}

/* line 2086, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .section-badge,
.landing-v3 .v3-opp-ticker,
.landing-v3 .status-pill,
.landing-v3 .pricing-toggle-label,
.landing-v3 strong {
  font-weight: 600;
}

/* line 2095, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .status-pill.hit {
  color: #57c79a;
}

/* line 2096, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .status-pill.miss {
  color: #d0655c;
}

/* line 2107, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-amount,
.landing-v3 .pricing-amount-promo,
.landing-v3 .pricing-amount-original,
.landing-v3 .pricing-period,
.landing-v3 .pricing-plan-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

/* line 2116, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-feature,
.landing-v3 .pricing-description {
  font-weight: 400;
}

/* line 2122, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .stock-symbol,
.landing-v3 .col-stock .stock-symbol,
.landing-v3 .stock-name,
.landing-v3 .tr-value,
.landing-v3 .tr-label {
  font-family: 'Montserrat', sans-serif;
}

/* line 2130, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .stock-symbol,
.landing-v3 .col-stock .stock-symbol,
.landing-v3 .tr-value {
  font-weight: 600;
}

/* line 2136, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .stock-name,
.landing-v3 .tr-label {
  font-weight: 400;
}

/* line 2147, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-btn-current {
  background: rgba(87, 199, 154, 0.08);
  color: #57c79a;
  border-color: rgba(87, 199, 154, 0.22);
}

/* line 2153, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-save-badge,
.landing-v3 .pricing-promo-tag,
.landing-v3 .pricing-amount-promo {
  color: #57c79a !important;
}

/* line 2159, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-feature-icon,
.landing-v3 .pricing-check {
  color: #57c79a;
}

/* line 2176, app/assets/stylesheets/landing_v3.scss */
html:has(.landing-v3),
body:has(.landing-v3),
#main-content:has(.landing-v3) {
  background: #000615 !important;
  background-color: #000615 !important;
}

/* line 2187, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) .navbar,
body:has(.landing-v3) .navbar-collapse,
body:has(.landing-v3) footer,
body:has(.landing-v3) .footer {
  background-color: #000615;
}

/* line 2194, app/assets/stylesheets/landing_v3.scss */
body:has(.landing-v3) .navbar.scrolled,
body:has(.landing-v3) .navbar-scrolled {
  background-color: rgba(0, 6, 21, 0.92);
}

/* line 2203, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-toggle-label.active,
.landing-v3 .pricing-plan-name,
.landing-v3 .pricing-amount {
  color: #f7f6f4;
}

/* line 2217, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .status-pill.hit {
  color: #57c79a;
  background: rgba(87, 199, 154, 0.12);
  border-color: rgba(87, 199, 154, 0.28);
}

/* line 2223, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .status-pill.miss {
  color: #d0655c;
  background: rgba(208, 101, 92, 0.12);
  border-color: rgba(208, 101, 92, 0.28);
}

/* line 2229, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .direction-indicator.up {
  color: #57c79a;
  background: rgba(87, 199, 154, 0.12);
  border-color: rgba(87, 199, 154, 0.28);
}

/* line 2235, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .direction-indicator.down {
  color: #d0655c;
  background: rgba(208, 101, 92, 0.12);
  border-color: rgba(208, 101, 92, 0.28);
}

/* line 2241, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .row-hit .col-status,
.landing-v3 .row-miss .col-status {
  background: transparent;
}

/* line 2256, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-banner {
  max-width: 840px;
  margin: 0 auto 40px;
  padding: 14px 20px;
  border: 1px solid rgba(204, 144, 60, 0.24);
  border-radius: 14px;
  background: rgba(17, 24, 39, 0.66);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
  font-size: 0.8125rem;
}

/* line 2270, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-content {
  gap: 10px 14px;
  padding-right: 24px;
}

/* line 2277, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-icon {
  display: none;
}

/* line 2281, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-text {
  color: #94a3b8;
  letter-spacing: 0.004em;
}

/* line 2286, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-code {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}

/* line 2291, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-cta {
  padding: 0.34rem 0.85rem;
  font-size: 0.75rem;
}

/* line 2296, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-close {
  right: 10px;
  font-size: 1.1rem;
}

@media (max-width: 640px) {
  /* line 2303, app/assets/stylesheets/landing_v3.scss */
  .landing-v3 .launch-promo-banner {
    margin-bottom: 28px;
    padding: 12px 14px;
  }
  /* line 2308, app/assets/stylesheets/landing_v3.scss */
  .landing-v3 .launch-promo-content {
    padding-right: 20px;
  }
}

/* line 2318, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-promo-note {
  color: #57c79a;
  border-color: rgba(87, 199, 154, 0.28);
}

/* line 2323, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-btn.pricing-btn-primary {
  color: #e0bc8a;
}

/* line 2326, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-btn.pricing-btn-primary:hover {
  color: #f7f6f4;
}

/* line 2331, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-btn.pricing-btn-popular {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  color: #000615;
}

/* line 2335, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-btn.pricing-btn-popular:hover {
  background: linear-gradient(135deg, #b8833d, #cc903c);
  color: #000615;
}

/* line 2344, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-promo-badge,
.landing-v3 .pricing-popular-badge,
.landing-v3 .pricing-save-badge {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  color: #000615;
  font-weight: 600;
}

/* ============================================================================
   MOBILE APP — store links + device renders
   ============================================================================
   The renders in public/feature_imgs/ are 1024x1536 studio shots of a phone on
   their OWN near-black ground with a vignette. So: no card, no border, no
   radius around them — any frame would cut that vignette and the shot would
   read as pasted on. They sit directly on the section and the two grounds meet.
   The only light behind them is one gold radial, which the vignettes absorb.

   The layout also has to survive P2 not existing yet: `justify-content: center`
   on the row means one render centres itself and two sit as a pair, with no
   empty column either way and no second rule to maintain.
   ========================================================================= */
/* line 2367, app/assets/stylesheets/landing_v3.scss */
.v3-app {
  position: relative;
  z-index: 2;
  padding: 120px 24px 104px;
  background: rgba(0, 6, 21, 0.55);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  overflow: hidden;
}

/* line 2376, app/assets/stylesheets/landing_v3.scss */
.v3-app-glow {
  position: absolute;
  top: 38%;
  left: 50%;
  /* Not min(760px, 110%): min()/max() are Sass built-ins, so libsass evaluates
     them at compile time and rejects mixing % with px. Two properties do the
     same job and compile. */
  width: 110%;
  max-width: 760px;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(204, 144, 60, 0.16) 0%, rgba(204, 144, 60, 0) 62%);
  pointer-events: none;
  z-index: 0;
}

/* line 2392, app/assets/stylesheets/landing_v3.scss */
.v3-app-header {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}

/* line 2400, app/assets/stylesheets/landing_v3.scss */
.v3-app-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.2);
  border-radius: 20px;
  padding: 6px 16px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #cc903c;
  margin-bottom: 20px;
}

/* line 2416, app/assets/stylesheets/landing_v3.scss */
.v3-app-title {
  font-size: clamp(1.9rem, 4.6vw, 3rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #f7f6f4;
  text-wrap: balance;
  margin: 0 0 16px;
}

/* line 2426, app/assets/stylesheets/landing_v3.scss */
.v3-app-subtitle {
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  line-height: 1.6;
  color: #94a3b8;
  text-wrap: pretty;
  margin: 0;
}

/* ---- Device renders ---- */
/* line 2436, app/assets/stylesheets/landing_v3.scss */
.v3-app-devices {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(8px, 3vw, 48px);
  max-width: 980px;
  margin: 0 auto;
}

/* line 2447, app/assets/stylesheets/landing_v3.scss */
.v3-app-device {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

/* line 2452, app/assets/stylesheets/landing_v3.scss */
.v3-app-device img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 420px;
}

/* Stagger the pair so it reads as one composition rather than two stickers.
   Scoped to :first-child + :last-child so it only applies when BOTH renders
   are present — a lone render stays level. */
/* line 2463, app/assets/stylesheets/landing_v3.scss */
.v3-app-device:first-child:not(:last-child) {
  transform: translateY(26px);
}

/* line 2467, app/assets/stylesheets/landing_v3.scss */
.v3-app-device:last-child:not(:first-child) {
  transform: translateY(-14px);
}

/* ---- Store buttons ---- */
/* line 2473, app/assets/stylesheets/landing_v3.scss */
.v3-app-stores {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 56px;
}

/* line 2483, app/assets/stylesheets/landing_v3.scss */
.v3-store-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 22px;
  min-height: 56px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f7f6f4;
  text-decoration: none;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

/* line 2496, app/assets/stylesheets/landing_v3.scss */
.v3-store-btn i {
  font-size: 1.6rem;
  line-height: 1;
}

/* line 2501, app/assets/stylesheets/landing_v3.scss */
.v3-store-btn:hover, .v3-store-btn:focus-visible {
  background: rgba(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 0.45);
  color: #f7f6f4;
  transform: translateY(-2px);
}

/* line 2509, app/assets/stylesheets/landing_v3.scss */
.v3-store-btn:focus-visible {
  outline: 2px solid rgba(204, 144, 60, 0.7);
  outline-offset: 3px;
}

/* line 2515, app/assets/stylesheets/landing_v3.scss */
.v3-store-txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.2;
}

/* line 2522, app/assets/stylesheets/landing_v3.scss */
.v3-store-pre {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

/* line 2529, app/assets/stylesheets/landing_v3.scss */
.v3-store-name {
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* line 2535, app/assets/stylesheets/landing_v3.scss */
.v3-app-note {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 20px 0 0;
  font-size: 0.8rem;
  color: #64748b;
}

@media (max-width: 767.98px) {
  /* line 2545, app/assets/stylesheets/landing_v3.scss */
  .v3-app {
    padding: 80px 20px 72px;
  }
  /* line 2549, app/assets/stylesheets/landing_v3.scss */
  .v3-app-header {
    margin-bottom: 36px;
  }
  /* Two 420px renders cannot share a phone screen legibly. The pair overlaps
     instead: the second slides under the first and is clipped to a sliver, so
     the composition still reads as two devices without either becoming a
     thumbnail. */
  /* line 2557, app/assets/stylesheets/landing_v3.scss */
  .v3-app-devices {
    gap: 0;
  }
  /* line 2561, app/assets/stylesheets/landing_v3.scss */
  .v3-app-device img {
    max-width: none;
  }
  /* line 2565, app/assets/stylesheets/landing_v3.scss */
  .v3-app-device:first-child:not(:last-child) {
    flex: 0 0 66%;
    transform: translateY(18px);
    z-index: 1;
  }
  /* line 2571, app/assets/stylesheets/landing_v3.scss */
  .v3-app-device:last-child:not(:first-child) {
    flex: 0 0 50%;
    margin-left: -16%;
    transform: translateY(-8px);
  }
  /* line 2577, app/assets/stylesheets/landing_v3.scss */
  .v3-app-device:only-child {
    flex: 0 0 78%;
  }
  /* line 2581, app/assets/stylesheets/landing_v3.scss */
  .v3-app-stores {
    margin-top: 36px;
  }
  /* line 2585, app/assets/stylesheets/landing_v3.scss */
  .v3-store-btn {
    flex: 1 1 100%;
    max-width: 320px;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 2593, app/assets/stylesheets/landing_v3.scss */
  .v3-store-btn {
    transition: none;
  }
  /* line 2596, app/assets/stylesheets/landing_v3.scss */
  .v3-store-btn:hover, .v3-store-btn:focus-visible {
    transform: none;
  }
}
/* line 25, app/assets/stylesheets/pages_v2.scss */
.page-hero-v2 {
  position: relative;
  padding: 140px 0 80px;
  background: #000615;
  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: 700;
  color: #f7f6f4;
  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(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 100px;
  color: #cc903c;
  font-size: 14px;
  font-weight: 600;
}

/* line 84, app/assets/stylesheets/pages_v2.scss */
.pricing-plans-v2 {
  padding: 80px 0;
  background: #000615;
}

/* line 92, app/assets/stylesheets/pages_v2.scss */
.faq-section-v2 {
  padding: 100px 0;
  background: #000615;
}

/* 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, 24, 37, 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(204, 144, 60, 0.2);
  transform: translateY(-2px);
}

/* line 127, app/assets/stylesheets/pages_v2.scss */
.faq-question-v2 {
  font-size: 16px;
  font-weight: 600;
  color: #f7f6f4;
  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: #000615;
  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: #f7f6f4;
  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(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 16px;
  margin-bottom: 40px;
}

/* line 187, app/assets/stylesheets/pages_v2.scss */
.legal-alert-v2 strong {
  color: #cc903c;
  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(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 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: #cc903c;
}

/* 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(204, 144, 60, 0.15);
  border-left-color: #cc903c;
}

/* line 255, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-warning h4 {
  color: #cc903c;
}

/* 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: #f7f6f4;
}

/* 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: #f7f6f4;
}

/* line 277, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-success {
  background: rgba(204, 144, 60, 0.15);
  border-left-color: #cc903c;
}

/* line 281, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-success h4 {
  color: #cc903c;
}

/* 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: #f7f6f4;
}

/* line 290, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-info {
  background: rgba(224, 188, 138, 0.15);
  border-left-color: #e0bc8a;
}

/* line 294, app/assets/stylesheets/pages_v2.scss */
.legal-page-v2 .alert-info h4 {
  color: #e0bc8a;
}

/* 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: #f7f6f4;
}

/* line 307, app/assets/stylesheets/pages_v2.scss */
.contact-page-v2 {
  background: #000615;
  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: #f7f6f4;
  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, 24, 37, 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(204, 144, 60, 0.3);
}

/* line 361, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2 .method-icon {
  width: 48px;
  height: 48px;
  background: rgba(204, 144, 60, 0.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cc903c;
  font-size: 20px;
}

/* line 374, app/assets/stylesheets/pages_v2.scss */
.contact-method-v2 .method-content h4 {
  font-size: 15px;
  font-weight: 600;
  color: #f7f6f4;
  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, 24, 37, 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: 600;
  color: #f7f6f4;
  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: #f7f6f4;
  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: #cc903c;
  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, #cc903c 0%, #a97832 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(204, 144, 60, 0.3);
}

/* line 455, app/assets/stylesheets/pages_v2.scss */
.about-section-v2 {
  padding: 100px 0;
  background: #000615;
}

/* line 459, app/assets/stylesheets/pages_v2.scss */
.about-section-v2.alt-bg {
  background: #000615;
}

/* 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, 24, 37, 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(204, 144, 60, 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(204, 144, 60, 0.1);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 28px;
  color: #cc903c;
}

/* line 500, app/assets/stylesheets/pages_v2.scss */
.about-card-v2 h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #f7f6f4;
  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: #000615;
}

/* line 522, app/assets/stylesheets/pages_v2.scss */
.features-section-v2.alt-bg {
  background: #000615;
}

/* 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, 24, 37, 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(204, 144, 60, 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(204, 144, 60, 0.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 24px;
  color: #cc903c;
}

/* line 566, app/assets/stylesheets/pages_v2.scss */
.feature-card-v2 h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #f7f6f4;
  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: #000615;
  min-height: 100vh;
}

/* line 612, app/assets/stylesheets/pages_v2.scss */
.blog-hero-v2 {
  position: relative;
  padding: 140px 0 60px;
  background: #000615;
  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: #f7f6f4;
  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, 24, 37, 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: #f7f6f4;
  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: #cc903c;
  background: rgba(255, 255, 255, 0.08);
}

/* line 681, app/assets/stylesheets/pages_v2.scss */
.blog-search-v2 .search-btn {
  background: linear-gradient(135deg, #cc903c 0%, #a97832 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(204, 144, 60, 0.3);
}

/* line 699, app/assets/stylesheets/pages_v2.scss */
.article-card-v2, .featured-article-v2 {
  background: rgba(17, 24, 37, 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(204, 144, 60, 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(204, 144, 60, 0.15);
  color: #cc903c;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: 600;
  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: #f7f6f4;
  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: #cc903c;
}

/* 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: #cc903c;
}

/* 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, 24, 37, 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: #f7f6f4;
  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(204, 144, 60, 0.1);
  color: #cc903c;
}

/* 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, #cc903c 0%, #a97832 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: 600;
  color: #f7f6f4;
  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: #cc903c;
}

/* 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(224, 188, 138, 0.2) 0%, rgba(204, 144, 60, 0.2) 100%);
  border: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 948, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .widget-title {
  border-bottom-color: rgba(204, 144, 60, 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: #f7f6f4;
  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: #cc903c;
}

/* line 981, app/assets/stylesheets/pages_v2.scss */
.newsletter-widget-v2 .newsletter-form button {
  background: linear-gradient(135deg, #cc903c 0%, #a97832 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: #cc903c;
  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, 24, 37, 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: #f7f6f4;
  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, #cc903c 0%, #a97832 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: #000615;
  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: #cc903c;
}

/* 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(204, 144, 60, 0.15);
  color: #cc903c;
  padding: 6px 16px;
  border-radius: 20px;
  font-weight: 600;
  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: #f7f6f4;
  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: #cc903c;
}

/* 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, 24, 37, 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: #f7f6f4;
  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: #cc903c;
  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 #cc903c;
  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: #f7f6f4;
  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: #f7f6f4;
  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(204, 144, 60, 0.1);
  color: #cc903c;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
}

/* 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(204, 144, 60, 0.1);
  border-color: #cc903c;
  color: #cc903c;
}

/* 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: #f7f6f4;
  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: #f7f6f4;
  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, 24, 37, 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(204, 144, 60, 0.1);
  border-color: #cc903c;
  color: #cc903c;
}

/* line 1386, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link.active {
  background: linear-gradient(135deg, #cc903c 0%, #a97832 100%);
  border-color: #cc903c;
  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;
  }
  /* line 1419, app/assets/stylesheets/pages_v2.scss */
  .section-title-v2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
  }
  /* line 1425, app/assets/stylesheets/pages_v2.scss */
  .pagination-v2 {
    gap: 4px;
    margin-top: 24px;
    flex-wrap: wrap;
  }
  /* line 1430, app/assets/stylesheets/pages_v2.scss */
  .pagination-v2 .page-link {
    padding: 6px 12px;
    font-size: 0.8rem;
    border-radius: 6px;
  }
}
@charset "UTF-8";
/* line 4, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  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(204, 144, 60, 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(204, 144, 60, 0.3);
  }
  50% {
    box-shadow: 0 4px 16px rgba(204, 144, 60, 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(204, 144, 60, 0.15);
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.03) 0%, rgba(224, 188, 138, 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, #cc903c, #e0bc8a);
  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: #cc903c;
  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(204, 144, 60, 0.15);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 0.2), rgba(224, 188, 138, 0.2));
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.4);
  box-shadow: 0 0 8px rgba(204, 144, 60, 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(204, 144, 60, 0.15), rgba(204, 144, 60, 0.25));
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 0.15), rgba(204, 144, 60, 0.25));
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 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: #cc903c;
}

/* 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(224, 188, 138, 0.1);
  color: #e0bc8a;
  font-weight: 600;
}

/* line 230, app/assets/stylesheets/shared/_trade_plan.scss */
.protection-tp {
  font-size: 0.6rem;
  color: #22c55e;
  font-weight: 600;
}

/* 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(224, 188, 138, 0.8);
  font-weight: 600;
  padding: 0.1rem 0.3rem;
  border-radius: 3px;
  background: rgba(224, 188, 138, 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(34, 197, 94, 0.1);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 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: 600;
}

/* line 340, app/assets/stylesheets/shared/_trade_plan.scss */
.kl-item.support {
  color: #22c55e;
}

/* 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(204, 144, 60, 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(0, 6, 21, 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, #cc903c, #e0bc8a);
  color: #f7f6f4;
  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(204, 144, 60, 0.3);
  color: #f7f6f4;
  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(204, 144, 60, 0.2);
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.02) 0%, rgba(224, 188, 138, 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: #cc903c;
}

/* 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: #cc903c;
  background: rgba(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 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(204, 144, 60, 0.12);
  background: linear-gradient(135deg, rgba(0, 6, 21, 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: visible;
  position: relative;
}

/* line 17, 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, #cc903c, #e0bc8a);
  opacity: 0.6;
  border-radius: var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;
}

/* line 29, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.empty-state {
  opacity: 0.6;
}

/* line 31, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed {
  background: rgba(0, 6, 21, 0.6);
  border-color: rgba(204, 144, 60, 0.06);
  box-shadow: none;
}

/* line 35, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed::before {
  opacity: 0.3;
}

/* line 36, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed .action-graph-header {
  border-bottom-color: transparent;
}

/* line 37, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-section.is-collapsed .plan-chat {
  display: none;
}

/* line 42, 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 51, app/assets/stylesheets/shared/_action_graph.scss */
.action-graph-header:hover {
  background: rgba(204, 144, 60, 0.03);
}

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

/* line 59, 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(204, 144, 60, 0.15);
  color: #cc903c;
  font-size: 0.55rem;
}

/* line 71, 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 78, 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, #cc903c, #e0bc8a);
  color: #000615;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0 5px;
}

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

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

/* line 116, app/assets/stylesheets/shared/_action_graph.scss */
.ag-chain::-webkit-scrollbar-thumb {
  background: rgba(204, 144, 60, 0.25);
  border-radius: 3px;
}

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

/* line 127, app/assets/stylesheets/shared/_action_graph.scss */
.ag-connector {
  display: flex;
  align-items: center;
  padding: 0 0.5rem;
  color: rgba(204, 144, 60, 0.5);
  font-size: 0.65rem;
  flex-shrink: 0;
}

/* line 139, 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: visible;
  position: relative;
}

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

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

/* line 156, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-done {
  opacity: 0.35;
  background: rgba(204, 144, 60, 0.02);
  border-color: rgba(204, 144, 60, 0.08);
}

/* line 160, 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 163, 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 169, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-conditional {
  opacity: 0.5;
  border-style: dashed;
  border-color: rgba(204, 144, 60, 0.2);
}

/* line 175, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-cancelled {
  opacity: 0.2;
  border-color: rgba(239, 68, 68, 0.15);
}

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

/* line 181, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped {
  opacity: 0.35;
  background: rgba(204, 144, 60, 0.02);
  border-color: rgba(204, 144, 60, 0.1);
}

/* line 185, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-ticker {
  text-decoration: line-through;
  opacity: 0.6;
}

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

/* line 187, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-skipped .ag-badge {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 190, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.is-updated {
  border-color: rgba(224, 188, 138, 0.3);
  box-shadow: 0 0 6px rgba(224, 188, 138, 0.08);
}

/* line 195, app/assets/stylesheets/shared/_action_graph.scss */
.ag-action-node.completing {
  transform: scale(0.96);
  opacity: 0.4;
}

/* line 197, 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 204, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-logo-bg {
  display: none;
}

/* line 209, 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(204, 144, 60, 0.06);
  position: relative;
  z-index: 1;
  border-bottom: 1px solid rgba(204, 144, 60, 0.12);
  cursor: help;
}

/* line 220, 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(204, 144, 60, 0.8);
}

/* line 227, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner i {
  font-size: 0.45rem;
  color: rgba(204, 144, 60, 0.6);
  margin-left: auto;
}

/* line 233, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met {
  background: rgba(204, 144, 60, 0.04);
  border-bottom-color: rgba(204, 144, 60, 0.1);
}

/* line 236, app/assets/stylesheets/shared/_action_graph.scss */
.ag-condition-banner.is-met .ag-cond-text {
  color: rgba(204, 144, 60, 0.7);
}

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

/* line 241, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-main {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  padding: 0.45rem 0.6rem;
  position: relative;
  z-index: 1;
}

/* line 250, app/assets/stylesheets/shared/_action_graph.scss */
.ag-node-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  flex-shrink: 0;
}

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

/* line 269, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox .ag-checkmark {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1.5px solid rgba(204, 144, 60, 0.4);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

/* line 280, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox .ag-checkmark::after {
  content: '';
  display: none;
  width: 5px;
  height: 8px;
  border: solid #cc903c;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -1px;
}

/* line 292, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"]:checked + .ag-checkmark {
  background: rgba(204, 144, 60, 0.15);
  border-color: #cc903c;
}

/* line 295, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox input[type="checkbox"]:checked + .ag-checkmark::after {
  display: block;
}

/* line 298, app/assets/stylesheets/shared/_action_graph.scss */
.ag-checkbox:hover .ag-checkmark {
  border-color: #cc903c;
  background: rgba(204, 144, 60, 0.06);
}

/* line 304, 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 313, 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 327, app/assets/stylesheets/shared/_action_graph.scss */
.ag-skip-btn:hover {
  color: #cc903c;
}

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

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

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

/* line 352, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge {
  font-family: 'SF Mono', 'Fira Code', 'Menlo', monospace;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.08rem 0.25rem;
  border-radius: 3px;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

/* line 361, app/assets/stylesheets/shared/_action_graph.scss */
.ag-badge.ag-badge-buy {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
}

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

/* line 365, 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 372, 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 380, 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 389, 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 395, 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 406, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-now {
  background: rgba(224, 188, 138, 0.15);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.3);
}

/* line 412, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-target {
  background: rgba(224, 188, 138, 0.12);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.25);
}

/* line 416, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-target i {
  margin-right: 0.1rem;
}

/* line 419, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-reached {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.35);
}

/* line 423, app/assets/stylesheets/shared/_action_graph.scss */
.ag-timing-badge.ag-timing-reached i {
  margin-right: 0.1rem;
}

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

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

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

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

/* line 443, 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 451, 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: #e0bc8a;
}

/* line 458, app/assets/stylesheets/shared/_action_graph.scss */
.ag-updated-tag i {
  font-size: 0.38rem;
}

/* line 461, 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: #cc903c;
  background: rgba(204, 144, 60, 0.1);
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  cursor: help;
  margin-top: 0.15rem;
}

/* line 473, app/assets/stylesheets/shared/_action_graph.scss */
.ag-conflict-tag i {
  font-size: 0.45rem;
}

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

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

@media (max-width: 767px) {
  /* line 496, app/assets/stylesheets/shared/_action_graph.scss */
  .action-graph-section .action-graph-body,
.action-graph-section .plan-chat {
    display: none;
  }
  /* line 502, app/assets/stylesheets/shared/_action_graph.scss */
  .action-graph-section .action-graph-header {
    border-bottom: none;
  }
  /* line 507, 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(0, 6, 21, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: none;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 522, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-modal.is-open {
    display: block !important;
  }
  /* line 527, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    padding-top: env(safe-area-inset-top, 0px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 6, 21, 0.98);
    z-index: 1;
  }
  /* line 542, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-title {
    font-size: 1rem;
    font-weight: 700;
    color: #f7f6f4;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 550, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-title i {
    color: #cc903c;
    font-size: 0.7rem;
  }
  /* line 553, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 559, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-toggle-done {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  /* line 569, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-toggle-done .ag-done-count {
    font-weight: 600;
    font-size: 0.75rem;
  }
  /* line 570, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-header .ag-fullscreen-toggle-done:hover {
    background: rgba(204, 144, 60, 0.15);
    border-color: rgba(204, 144, 60, 0.3);
    color: #cc903c;
  }
  /* line 573, 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: #f7f6f4;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  /* line 583, 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 587, app/assets/stylesheets/shared/_action_graph.scss */
  body.fullscreen-modal-open {
    overflow: hidden !important;
  }
  /* line 591, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body {
    padding: 1rem;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 597, 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 604, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-action-node {
    min-width: 180px;
  }
  /* line 605, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-ticker {
    font-size: 0.75rem;
  }
  /* line 606, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-price {
    font-size: 0.65rem;
  }
  /* line 607, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-company {
    font-size: 0.55rem;
    max-width: 160px;
  }
  /* line 608, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-reason {
    font-size: 0.55rem;
    max-width: 180px;
  }
  /* line 609, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-badge {
    font-size: 0.5rem;
  }
  /* line 610, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-timing-badge {
    font-size: 0.45rem;
    padding: 0.05rem 0.25rem;
  }
  /* line 611, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-connector {
    padding: 0 0.4rem;
    font-size: 0.6rem;
  }
  /* line 612, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-condition-banner .ag-cond-text {
    font-size: 0.5rem;
  }
  /* line 615, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-node-logo-bg {
    display: block;
    position: absolute;
    bottom: 6px;
    right: 6px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    opacity: 0.09;
    mix-blend-mode: luminosity;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 0.8) 30%, transparent 72%);
    mask-image: radial-gradient(circle, rgba(0, 0, 0, 0.8) 30%, transparent 72%);
    filter: grayscale(0.5) brightness(1.8);
    z-index: 0;
  }
  /* line 633, app/assets/stylesheets/shared/_action_graph.scss */
  .ag-fullscreen-body .ag-action-node.is-done .ag-node-logo-bg,
.ag-fullscreen-body .ag-action-node.is-cancelled .ag-node-logo-bg {
    opacity: 0.04;
  }
}

/* line 644, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .action-graph-section {
  background: var(--bg-card-solid, #faf9f6);
  border-color: rgba(204, 144, 60, 0.15);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

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

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

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

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

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

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

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

/* line 660, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-condition-banner {
  background: rgba(204, 144, 60, 0.05);
  border-bottom-color: rgba(204, 144, 60, 0.1);
}

/* line 664, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-connector {
  color: rgba(204, 144, 60, 0.4);
}

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

/* line 666, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox input:checked + .ag-checkmark {
  border-color: #16a34a;
  background: rgba(22, 163, 74, 0.1);
}

/* line 667, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-checkbox .ag-checkmark::after {
  border-color: #16a34a;
}

/* line 669, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-now {
  background: rgba(217, 119, 6, 0.1);
  color: #a97832;
  border-color: rgba(217, 119, 6, 0.25);
}

/* line 670, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-target {
  background: rgba(109, 40, 217, 0.08);
  color: #a97832;
  border-color: rgba(109, 40, 217, 0.2);
}

/* line 671, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-timing-badge.ag-timing-reached {
  background: rgba(22, 163, 74, 0.1);
  color: #16a34a;
  border-color: rgba(22, 163, 74, 0.25);
}

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

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

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

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

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

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

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

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

/* line 681, app/assets/stylesheets/shared/_action_graph.scss */
[data-theme="light"] .ag-node-logo-bg {
  opacity: 0.06;
  filter: grayscale(0.6) brightness(0.7);
}

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

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

/* line 700, 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 705, 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 718, app/assets/stylesheets/shared/_action_graph.scss */
.ag-toggle-done:hover {
  background: rgba(204, 144, 60, 0.08);
  border-color: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 724, app/assets/stylesheets/shared/_action_graph.scss */
.ag-toggle-done .ag-done-count {
  font-weight: 600;
  font-size: 0.65rem;
}

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

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

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

/* line 751, 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 762, 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 767, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-input:focus {
  border-color: rgba(204, 144, 60, 0.4);
}

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

/* line 777, 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 791, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-submit:hover:not(:disabled) {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.08);
}

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

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

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

/* line 822, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--success {
  color: #22c55e;
}

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

/* line 824, app/assets/stylesheets/shared/_action_graph.scss */
.plan-chat-feedback--warning {
  color: #cc903c;
}

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

/* line 49, app/assets/stylesheets/dashboard.scss */
.dashboard-container {
  min-height: 100vh;
  background: var(--bg-primary, #000615);
  color: var(--text-primary, #f7f6f4);
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  padding-bottom: 2rem;
  overflow-x: clip;
  max-width: 100vw;
  width: 100%;
  position: relative;
  transition: var(--theme-transition);
}

/* line 71, 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 89, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .table-responsive {
    overflow-x: visible !important;
    overflow: visible !important;
  }
}

/* line 96, app/assets/stylesheets/dashboard.scss */
.dashboard-container > * {
  position: relative;
  z-index: 1;
}

/* line 103, 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 119, app/assets/stylesheets/dashboard.scss */
.vertex-ai-forecast {
  background: linear-gradient(135deg, #1b2333 0%, #1b2333 100%);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 12px;
  padding: 0.75rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-top: 0.25rem;
}

/* line 129, app/assets/stylesheets/dashboard.scss */
.vertex-ai-forecast::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #cc903c 0%, #e0bc8a 100%);
}

/* line 139, app/assets/stylesheets/dashboard.scss */
.vertex-ai-forecast.enhanced {
  padding: 0.5rem;
  text-align: left;
}

/* line 145, 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 154, app/assets/stylesheets/dashboard.scss */
.forecast-title {
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 162, 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 170, app/assets/stylesheets/dashboard.scss */
.forecast-action.buy {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.35);
}

/* line 175, app/assets/stylesheets/dashboard.scss */
.forecast-action.hold {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.35);
}

/* line 180, app/assets/stylesheets/dashboard.scss */
.forecast-action.wait {
  background: rgba(107, 114, 128, 0.2);
  color: #6b7280;
  border: 1px solid rgba(107, 114, 128, 0.35);
}

/* line 185, app/assets/stylesheets/dashboard.scss */
.forecast-action.sell {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.35);
}

/* line 190, app/assets/stylesheets/dashboard.scss */
.forecast-action.trim {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.35);
}

/* line 197, app/assets/stylesheets/dashboard.scss */
.forecast-content {
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

/* line 204, 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 213, 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 222, 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 231, app/assets/stylesheets/dashboard.scss */
.forecast-price-value {
  font-size: 0.9rem;
  font-weight: 700;
  color: #f7f6f4;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

/* line 240, 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 252, 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 263, 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 272, app/assets/stylesheets/dashboard.scss */
.usd-conversion-inline {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 300;
}

/* line 278, app/assets/stylesheets/dashboard.scss */
.forecast-change-inline {
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 282, app/assets/stylesheets/dashboard.scss */
.forecast-change-inline.positive {
  color: #22c55e;
}

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

/* line 292, app/assets/stylesheets/dashboard.scss */
.forecast-price {
  font-size: 1.1rem;
  font-weight: 700;
  color: #f7f6f4;
  margin-bottom: 0.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
}

/* line 302, app/assets/stylesheets/dashboard.scss */
.forecast-price .forecast-price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 309, app/assets/stylesheets/dashboard.scss */
.forecast-date-wrapper {
  display: block;
  margin-top: 0.15rem;
  width: 100%;
}

/* line 315, 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 327, app/assets/stylesheets/dashboard.scss */
.forecast-change {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 332, app/assets/stylesheets/dashboard.scss */
.forecast-change.positive {
  color: #22c55e;
}

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

/* line 341, app/assets/stylesheets/dashboard.scss */
.forecast-confidence {
  font-size: 0.8rem;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}

/* line 346, app/assets/stylesheets/dashboard.scss */
.forecast-confidence i {
  color: #cc903c;
  margin-right: 0.25rem;
}

/* line 352, app/assets/stylesheets/dashboard.scss */
.forecast-age {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 356, app/assets/stylesheets/dashboard.scss */
.forecast-age i {
  margin-right: 0.2rem;
}

/* line 362, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card {
  border: 2px solid rgba(204, 144, 60, 0.4);
  background: linear-gradient(135deg, #1b2333 0%, #1b2333 100%);
  position: relative;
  margin-bottom: 1rem;
}

/* line 368, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc903c 0%, #e0bc8a 100%);
}

/* line 379, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card .card-header h5 {
  color: #cc903c;
}

/* line 382, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card .card-header h5 i {
  margin-right: 0.5rem;
  color: #cc903c;
}

/* line 389, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card.j1-card {
  border-color: rgba(204, 144, 60, 0.6);
}

/* line 393, app/assets/stylesheets/dashboard.scss */
.vertex-ai-card.j7-card {
  border-color: rgba(224, 188, 138, 0.6);
}

/* line 398, app/assets/stylesheets/dashboard.scss */
.confidence-high {
  color: #cc903c !important;
  font-weight: 600;
}

/* line 403, app/assets/stylesheets/dashboard.scss */
.confidence-medium {
  color: #cc903c !important;
  font-weight: 600;
}

/* line 408, app/assets/stylesheets/dashboard.scss */
.confidence-low {
  color: #ff6b6b !important;
  font-weight: 600;
}

/* line 414, app/assets/stylesheets/dashboard.scss */
.dashboard-header {
  background: rgba(17, 24, 37, 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 434, app/assets/stylesheets/dashboard.scss */
.dashboard-header > .d-flex {
  width: 100%;
  max-width: 100%;
  gap: 0.6rem;
}

/* line 441, app/assets/stylesheets/dashboard.scss */
.dashboard-header .container,
.dashboard-header .container-fluid,
.dashboard-header [class*="container"] {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* line 449, app/assets/stylesheets/dashboard.scss */
.dashboard-header .row {
  margin: 0 !important;
  padding: 0 !important;
}

/* line 454, app/assets/stylesheets/dashboard.scss */
.dashboard-header [class*="col-"] {
  padding: 0 !important;
  margin: 0 !important;
}

/* line 460, 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(204, 144, 60, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

@media (max-width: 767px) {
  /* line 414, app/assets/stylesheets/dashboard.scss */
  .dashboard-header {
    padding: 0 1rem !important;
    margin-bottom: 0.5rem !important;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* line 414, app/assets/stylesheets/dashboard.scss */
  .dashboard-header {
    padding: 0 1.5rem !important;
    margin-bottom: 0.6rem !important;
  }
}

@media (min-width: 1280px) {
  /* line 414, app/assets/stylesheets/dashboard.scss */
  .dashboard-header {
    padding: 0 2.5rem !important;
    margin-bottom: 0.75rem !important;
  }
}

/* line 490, app/assets/stylesheets/dashboard.scss */
.dashboard-header.compact-header {
  padding: 0 2.5rem !important;
}

/* line 493, app/assets/stylesheets/dashboard.scss */
.dashboard-header.compact-header .compact-header-title {
  font-size: 1rem;
  font-weight: 600;
  color: #f7f6f4;
  white-space: nowrap;
}

/* line 501, app/assets/stylesheets/dashboard.scss */
.dashboard-header .page-title-icon {
  color: #cc903c;
  font-size: 0.9rem !important;
  flex-shrink: 0;
  opacity: 0.7;
}

/* line 508, app/assets/stylesheets/dashboard.scss */
.dashboard-header .page-title-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.02em;
  white-space: nowrap;
  margin: 0;
}

/* line 517, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.02em;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  line-height: 1.2;
}

/* line 531, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-title .dashboard-logo {
  width: 2rem;
  height: 2rem;
  filter: drop-shadow(0 2px 4px rgba(204, 144, 60, 0.3));
  transition: all 0.3s ease;
}

@media (max-width: 767px) {
  /* line 531, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title .dashboard-logo {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* line 543, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-title i {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 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 543, 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 543, app/assets/stylesheets/dashboard.scss */
  .dashboard-header .dashboard-title i {
    font-size: 1rem;
    margin-right: 0.3rem;
  }
}

/* line 563, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dashboard-subtitle {
  display: none !important;
}

/* line 567, app/assets/stylesheets/dashboard.scss */
.dashboard-header .refresh-btn {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  border: none;
  color: #f7f6f4;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 576, app/assets/stylesheets/dashboard.scss */
.dashboard-header .refresh-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(204, 144, 60, 0.15);
}

/* line 581, app/assets/stylesheets/dashboard.scss */
.dashboard-header .refresh-btn i {
  margin-right: 0.5rem;
}

/* line 587, 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 595, app/assets/stylesheets/dashboard.scss */
.dashboard-header .dev-refresh-btn i {
  margin-right: 0.5rem;
  font-size: inherit !important;
}

/* line 605, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar {
  display: flex;
  align-items: stretch;
  background: var(--bg-card, rgba(17, 24, 37, 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 618, 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 628, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item:first-child, .portfolio-summary-bar .summary-item:last-child {
  padding-right: 1.25rem;
}

/* line 633, 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(204, 144, 60, 0.15);
  color: #cc903c;
  flex-shrink: 0;
}

/* line 645, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon i {
  font-size: 0.9rem;
}

/* line 649, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon.positive {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 654, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-icon.negative {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 660, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

/* line 666, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #f7f6f4;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 675, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value.positive {
  color: #22c55e;
}

/* line 679, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value.negative {
  color: #ff6b6b;
}

/* line 683, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-content .summary-value.neutral {
  color: #64748b;
}

/* line 688, 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 694, 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 701, 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: 600;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* line 714, 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: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 726, 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(204, 144, 60, 0.4);
  background: rgba(204, 144, 60, 0.1);
  border-radius: 5px;
  color: #cc903c;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 5;
}

/* line 746, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-action-btn:hover {
  background: rgba(204, 144, 60, 0.25);
  border-color: #cc903c;
}

/* line 751, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-action-btn i {
  font-size: 0.65rem;
  line-height: 1;
}

/* line 758, 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 766, 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 758, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .pnl-info-tooltip {
    font-size: 0.75rem;
  }
}

@media (min-width: 1024px) {
  /* line 758, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .pnl-info-tooltip {
    font-size: 0.85rem;
  }
}

/* line 782, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.total-value .summary-icon {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 787, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.stock-count .summary-icon {
  background: rgba(79, 172, 254, 0.15);
  color: #4facfe;
}

/* line 792, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item.last-updated .summary-icon {
  background: rgba(168, 133, 255, 0.15);
  color: #a885ff;
}

/* line 796, 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 804, 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 814, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem;
  }
  /* line 819, 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 828, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item.total-value, .portfolio-summary-bar .summary-item.performance {
    padding-right: 1.25rem;
  }
  /* line 833, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
  /* line 838, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.8rem;
  }
  /* line 844, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.95rem;
  }
  /* line 848, 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 851, 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 858, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.6rem;
  }
  /* line 863, 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 871, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn i {
    font-size: 0.55rem;
  }
  /* line 877, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-divider {
    display: none;
  }
}

@media (max-width: 575px) {
  /* line 885, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.3rem;
    padding: 0.35rem;
  }
  /* line 891, 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 901, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item.total-value, .portfolio-summary-bar .summary-item.performance {
    padding-right: 1rem;
  }
  /* line 906, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 6px;
  }
  /* line 912, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.65rem;
  }
  /* line 917, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content {
    overflow: hidden;
  }
  /* line 920, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.8rem;
  }
  /* line 924, 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 927, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-breakdown {
    display: none;
  }
  /* line 933, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.55rem;
    letter-spacing: 0.2px;
  }
  /* line 939, 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 948, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn i {
    font-size: 0.45rem;
  }
  /* line 954, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-divider {
    display: none;
  }
}

/* line 961, app/assets/stylesheets/dashboard.scss */
.summary-card {
  background: var(--bg-card, rgba(17, 24, 37, 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 974, app/assets/stylesheets/dashboard.scss */
.summary-card:hover {
  border-color: rgba(204, 144, 60, 0.2);
  box-shadow: var(--shadow-hover, 0 8px 32px rgba(0, 0, 0, 0.3));
}

/* line 981, app/assets/stylesheets/dashboard.scss */
.dashboard-container .summary-card {
  overflow: hidden;
}

@media (min-width: 576px) {
  /* line 981, 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 981, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    padding: 0.7rem 0.5rem;
    min-height: 115px;
    max-height: 135px;
  }
}

/* line 1011, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card,
.account-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 1029, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card:hover,
.account-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 1035, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-content,
.account-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 1043, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-content h3,
.account-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 1048, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-content p,
.account-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 1056, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-icon,
.account-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 1065, app/assets/stylesheets/dashboard.scss */
.tab-pane .summary-card .card-icon i,
.account-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 1074, 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(204, 144, 60, 0.5);
  background: rgba(204, 144, 60, 0.1);
  border-radius: 6px;
  color: #cc903c;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}

/* line 1093, app/assets/stylesheets/dashboard.scss */
.summary-card .reset-baseline-btn-corner:hover {
  background: rgba(204, 144, 60, 0.25);
  border-color: #cc903c;
  transform: scale(1.1);
}

/* line 1099, app/assets/stylesheets/dashboard.scss */
.summary-card .reset-baseline-btn-corner i {
  font-size: 0.6rem;
}

/* line 1105, 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(204, 144, 60, 0.5);
  background: rgba(204, 144, 60, 0.1);
  border-radius: 6px;
  color: #cc903c;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}

/* line 1124, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-history-btn-corner:hover {
  background: rgba(204, 144, 60, 0.25);
  border-color: #cc903c;
  transform: scale(1.1);
}

/* line 1130, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-history-btn-corner i {
  font-size: 0.6rem;
}

/* line 1135, app/assets/stylesheets/dashboard.scss */
.summary-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc903c, #00b4d8);
  border-radius: 12px 12px 0 0;
}

/* line 1146, app/assets/stylesheets/dashboard.scss */
.summary-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(204, 144, 60, 0.05) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

@media (hover: hover) {
  /* line 1160, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px rgba(204, 144, 60, 0.2);
    border-color: rgba(204, 144, 60, 0.3);
  }
  /* line 1165, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover::after {
    opacity: 1;
  }
}

/* line 1171, 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(204, 144, 60, 0.3);
  transition: all 0.3s ease;
}

/* line 1182, app/assets/stylesheets/dashboard.scss */
.summary-card .card-icon i {
  font-size: 1.25rem;
}

@media (min-width: 576px) {
  /* line 1171, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 0.4rem;
  }
  /* line 1192, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 1.1rem;
  }
}

@media (min-width: 1280px) {
  /* line 1171, 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 1205, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 1.3rem;
  }
}

@media (hover: hover) {
  /* line 1212, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover .card-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 25px rgba(204, 144, 60, 0.4);
  }
}

/* line 1218, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content {
  text-align: center;
}

/* line 1221, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content h3 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: #f7f6f4;
  letter-spacing: -0.01em;
}

/* line 1229, 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: 600;
}

/* line 1238, 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 1247, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.15rem;
    margin: 0 0 0.2rem 0;
  }
  /* line 1252, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.6rem;
    margin: 0;
  }
  /* line 1257, 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 1265, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.1rem;
    margin: 0 0 0.15rem 0;
  }
  /* line 1270, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.55rem;
  }
  /* line 1274, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content small.performance-detail {
    font-size: 0.5rem;
  }
}

@media (max-width: 1279px) {
  /* line 1071, app/assets/stylesheets/dashboard.scss */
  .summary-card {
    padding: 0.75rem 0.5rem;
    border-radius: 10px;
  }
  /* line 1285, app/assets/stylesheets/dashboard.scss */
  .summary-card::before {
    height: 2px;
  }
  /* line 1289, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 0.75rem;
  }
  /* line 1294, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 1rem;
  }
  /* line 1300, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.4rem;
    margin: 0 0 0.25rem 0;
  }
  /* line 1305, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.7rem;
  }
}

@media (max-width: 575px) {
  /* line 1071, app/assets/stylesheets/dashboard.scss */
  .summary-card {
    padding: 0.25rem 0.12rem;
    min-width: 0;
  }
  /* line 1316, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon {
    width: 16px;
    height: 16px;
    margin: 0 auto 0.08rem;
  }
  /* line 1321, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-icon i {
    font-size: 0.45rem;
  }
  /* line 1327, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 0.65rem;
    margin: 0;
    line-height: 1.05;
    font-weight: 700;
  }
  /* line 1335, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    display: none;
  }
}

/* line 1345, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content h3.positive {
  color: #22c55e;
}

/* line 1349, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content h3.negative {
  color: #ff6b6b;
}

/* line 1353, app/assets/stylesheets/dashboard.scss */
.summary-card .summary-card.portfolio-performance .card-content h3.neutral {
  color: #64748b;
}

/* line 1358, 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: 600;
  display: block;
  margin-top: 0.25rem;
}

@media (max-width: 575px) {
  /* line 1370, 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 1380, app/assets/stylesheets/dashboard.scss */
.summary-card.total-value .card-icon {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1386, 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 1386, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency {
    gap: 0.05rem;
  }
}

/* line 1396, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-total-multi-currency .total-primary {
  font-size: 1.5rem;
  font-weight: 700;
  color: #f7f6f4;
  line-height: 1.2;
}

@media (max-width: 575px) {
  /* line 1396, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency .total-primary {
    font-size: 0.75rem;
    line-height: 1.05;
  }
}

/* line 1408, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-total-multi-currency .total-breakdown {
  font-size: 0.75rem;
  color: #94a3b8;
  font-weight: 600;
  opacity: 0.8;
  text-align: center;
  line-height: 1.3;
}

@media (max-width: 575px) {
  /* line 1408, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency .total-breakdown {
    font-size: 0.42rem;
    line-height: 1.05;
  }
}

/* line 1424, 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 1434, 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 1446, app/assets/stylesheets/dashboard.scss */
.summary-card.stock-count .card-icon {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 1451, app/assets/stylesheets/dashboard.scss */
.summary-card.last-updated .card-icon {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 1456, app/assets/stylesheets/dashboard.scss */
.summary-card.portfolio-performance .card-icon {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 1461, app/assets/stylesheets/dashboard.scss */
.summary-card.status .card-icon {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 1468, 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 1476, app/assets/stylesheets/dashboard.scss */
.section-header .section-title {
  flex: 1;
  min-width: 0;
}

/* line 1480, app/assets/stylesheets/dashboard.scss */
.section-header .section-title h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: #f7f6f4;
}

/* line 1487, app/assets/stylesheets/dashboard.scss */
.section-header .section-title p {
  font-size: 0.875rem;
  color: #64748b;
  margin: 0;
  line-height: 1.4;
}

/* line 1495, 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 1503, app/assets/stylesheets/dashboard.scss */
.section-header .btn {
  background: #cc903c;
  border: 1px solid #cc903c;
  color: #f7f6f4;
  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 1515, app/assets/stylesheets/dashboard.scss */
.section-header .btn:hover {
  background: #a9752c;
  border-color: #a9752c;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* line 1522, app/assets/stylesheets/dashboard.scss */
.section-header .btn i {
  margin-right: 0.5rem;
}

/* line 1529, app/assets/stylesheets/dashboard.scss */
.dashboard-container .table-responsive[data-onboarding="stocks-table"] {
  border-radius: 16px !important;
  overflow: hidden !important;
  isolation: isolate;
}

/* line 1537, 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, #f7f6f4);
  transition: var(--theme-transition);
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* line 1551, app/assets/stylesheets/dashboard.scss */
.stocks-table thead {
  background: var(--bg-table-header, rgba(21, 29, 44, 0.8));
}

/* line 1554, 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.7rem 0.5rem;
  position: relative;
  text-align: center;
}

/* line 1567, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th:first-child {
  border-left: 4px solid transparent;
  border-top-left-radius: 16px;
}

/* line 1573, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th:last-child {
  border-top-right-radius: 16px;
}

/* line 1577, 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(204, 144, 60, 0.4), transparent);
  border-radius: 0;
}

/* line 1590, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody {
  background: transparent;
}

/* line 1593, 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 1599, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:hover {
  background: var(--bg-table-row-hover, rgba(204, 144, 60, 0.05));
}

/* line 1603, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:nth-child(even) {
  background: var(--bg-input, rgba(255, 255, 255, 0.015));
}

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

/* line 1611, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 16px;
}

/* line 1615, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 16px;
}

/* line 1621, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody td {
  padding: 0.6rem 0.5rem;
  border: none;
  vertical-align: middle;
  font-weight: 600;
  color: #f7f6f4;
  background: transparent;
  font-size: 0.95rem;
  text-align: center;
}

/* line 1635, app/assets/stylesheets/dashboard.scss */
.stock-info {
  text-align: left !important;
}

/* line 1638, app/assets/stylesheets/dashboard.scss */
.stock-info strong {
  color: #f7f6f4;
  font-size: 1.25rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 1647, 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 1657, 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: #f7f6f4;
  padding: 0.5rem;
  width: 100px;
  text-align: center;
}

/* line 1666, app/assets/stylesheets/dashboard.scss */
.shares-input .shares-field:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: #cc903c;
  box-shadow: 0 0 0 0.2rem rgba(204, 144, 60, 0.25);
  color: #f7f6f4;
}

/* line 1676, app/assets/stylesheets/dashboard.scss */
.price-cell,
.value-cell {
  font-weight: 700;
  color: #f7f6f4;
  font-size: 1.1rem;
  text-align: center;
}

/* line 1685, app/assets/stylesheets/dashboard.scss */
.micro-sparkline-container {
  display: flex;
  justify-content: center;
  margin-top: 2px;
}

/* line 1690, app/assets/stylesheets/dashboard.scss */
.micro-sparkline-container canvas {
  display: block;
  width: 60px;
  height: 18px;
}

@media (max-width: 767px) {
  /* line 1685, app/assets/stylesheets/dashboard.scss */
  .micro-sparkline-container {
    margin-top: 3px;
  }
  /* line 1700, app/assets/stylesheets/dashboard.scss */
  .micro-sparkline-container canvas {
    width: 50px;
    height: 14px;
  }
}

/* line 1711, app/assets/stylesheets/dashboard.scss */
.price-cell .price-display-compact .price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 1719, app/assets/stylesheets/dashboard.scss */
.price-cell .micro-sparkline-container {
  margin-top: 2px;
}

/* line 1725, 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 1733, app/assets/stylesheets/dashboard.scss */
.pnl-display.positive {
  color: #22c55e;
}

/* line 1736, app/assets/stylesheets/dashboard.scss */
.pnl-display.positive .pnl-percentage::before {
  content: "▲ ";
  font-size: 0.6rem;
}

/* line 1742, app/assets/stylesheets/dashboard.scss */
.pnl-display.negative {
  color: #ff6b6b;
}

/* line 1745, app/assets/stylesheets/dashboard.scss */
.pnl-display.negative .pnl-percentage::before {
  content: "▼ ";
  font-size: 0.6rem;
}

/* line 1751, app/assets/stylesheets/dashboard.scss */
.pnl-display .pnl-percentage {
  font-weight: 700;
}

/* line 1755, app/assets/stylesheets/dashboard.scss */
.pnl-display .pnl-value {
  font-size: 0.65rem;
  opacity: 0.8;
}

/* line 1762, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0.5rem;
}

/* line 1768, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-search {
  position: relative;
  flex: 0 0 auto;
}

/* line 1772, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-search i {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}

/* line 1782, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-search input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.7rem;
  padding: 5px 10px 5px 26px;
  width: 140px;
  outline: none;
  transition: border-color 0.2s, width 0.2s;
}

/* line 1793, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-search input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

/* line 1797, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-search input:focus {
  border-color: rgba(204, 144, 60, 0.4);
  width: 180px;
}

/* line 1804, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chips {
  display: flex;
  gap: 0.25rem;
}

/* line 1809, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chip {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 3px 10px;
  cursor: pointer;
  transition: all 0.15s;
  box-shadow: none;
  transform: none;
  line-height: 1.4;
}

/* line 1823, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chip:hover {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  transform: none;
  box-shadow: none;
}

/* line 1830, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chip.active {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 1836, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chip.chip-buy.active {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 1842, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chip.chip-sell.active {
  background: rgba(255, 82, 82, 0.15);
  border-color: rgba(255, 82, 82, 0.3);
  color: #ff5252;
}

/* line 1848, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chip.chip-hold.active {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 1857, app/assets/stylesheets/dashboard.scss */
.portfolio-header-row {
  align-items: center;
  flex-wrap: nowrap;
}

/* line 1861, app/assets/stylesheets/dashboard.scss */
.portfolio-header-row .section-title {
  flex: 0 0 auto;
}

/* line 1864, app/assets/stylesheets/dashboard.scss */
.portfolio-header-row .section-title h2 {
  margin-bottom: 0;
  white-space: nowrap;
}

/* line 1870, app/assets/stylesheets/dashboard.scss */
.portfolio-header-row .section-actions {
  margin-left: auto;
  flex-shrink: 0;
}

@media (min-width: 1401px) {
  /* line 1878, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input {
    width: 140px;
  }
  /* line 1878, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input:focus {
    width: 180px;
  }
}

@media (min-width: 1201px) and (max-width: 1400px) {
  /* line 1857, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row {
    gap: 0.5rem;
  }
  /* line 1887, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input {
    width: 90px;
  }
  /* line 1889, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input:focus {
    width: 110px;
  }
  /* line 1891, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-chip {
    padding: 3px 7px;
    font-size: 0.6rem;
  }
  /* line 1894, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .refresh-status-inline {
    display: none !important;
  }
  /* line 1895, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn .btn-text-hide {
    display: none;
  }
  /* line 1896, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn {
    padding: 0.4rem 0.55rem;
  }
  /* line 1898, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn i {
    margin-right: 0;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  /* line 1857, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row {
    gap: 0.4rem;
  }
  /* line 1906, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters {
    margin: 0 0.25rem;
  }
  /* line 1908, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search {
    display: none;
  }
  /* line 1909, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-chip {
    padding: 2px 6px;
    font-size: 0.55rem;
  }
  /* line 1912, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .refresh-status-inline {
    display: none !important;
  }
  /* line 1913, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn .btn-text-hide {
    display: none;
  }
  /* line 1914, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn {
    padding: 0.35rem 0.5rem;
    font-size: 0.7rem;
  }
  /* line 1917, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn i {
    margin-right: 0;
  }
}

/* line 1924, app/assets/stylesheets/dashboard.scss */
.basic-mode-active .portfolio-header-row .section-actions .btn .btn-text-hide {
  display: none;
}

/* line 1928, app/assets/stylesheets/dashboard.scss */
.basic-mode-active .portfolio-header-row .section-actions .btn {
  padding: 0.5rem 0.65rem;
}

/* line 1931, app/assets/stylesheets/dashboard.scss */
.basic-mode-active .portfolio-header-row .section-actions .btn i {
  margin-right: 0;
}

/* line 1938, app/assets/stylesheets/dashboard.scss */
.table-filter-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.25rem;
}

/* line 1945, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search {
  position: relative;
  flex: 0 0 auto;
}

/* line 1949, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search i {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}

/* line 1959, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.7rem;
  padding: 5px 10px 5px 26px;
  width: 150px;
  outline: none;
  transition: border-color 0.2s, width 0.2s;
}

/* line 1970, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

/* line 1974, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input:focus {
  border-color: rgba(204, 144, 60, 0.4);
  width: 200px;
}

/* line 1981, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chips {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

/* line 1987, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 3px 10px;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 1998, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip:hover {
  border-color: rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.7);
}

/* line 2003, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.active {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 2009, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.chip-buy.active {
  background: rgba(74, 222, 128, 0.12);
  border-color: rgba(74, 222, 128, 0.3);
  color: #4ade80;
}

/* line 2015, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.chip-sell.active {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.3);
  color: #f87171;
}

/* line 2021, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-chip.chip-hold.active {
  background: rgba(224, 188, 138, 0.12);
  border-color: rgba(224, 188, 138, 0.3);
  color: #e0bc8a;
}

@media (max-width: 767px) {
  /* line 1938, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar {
    flex-wrap: wrap;
    padding: 0.5rem 0;
    gap: 0.5rem;
  }
  /* line 2033, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search {
    flex: 1 1 100%;
    order: -1;
  }
  /* line 2037, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search i {
    font-size: 0.6rem;
    left: 10px;
  }
  /* line 2042, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input {
    width: 100%;
    font-size: 0.75rem;
    padding: 12px 12px 12px 28px;
    min-height: 44px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
  }
  /* line 2055, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input::placeholder {
    font-size: 0.75rem;
  }
  /* line 2056, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input:focus {
    width: 100%;
    border-color: rgba(204, 144, 60, 0.3);
  }
  /* line 2063, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-chips {
    flex: 1 1 100%;
    display: flex;
    gap: 0.3rem;
  }
  /* line 2069, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-chip {
    flex: 1;
    text-align: center;
    font-size: 0.65rem;
    padding: 5px 0;
    border-radius: 8px;
  }
}

/* line 2079, app/assets/stylesheets/dashboard.scss */
.dashboard-container table.stocks-table tr.filter-hidden,
.dashboard-container table.stocks-table tr.stock-row.filter-hidden {
  display: none !important;
}

/* line 2085, app/assets/stylesheets/dashboard.scss */
.sortable-header {
  cursor: pointer;
  user-select: none;
  transition: color 0.15s;
}

/* line 2090, app/assets/stylesheets/dashboard.scss */
.sortable-header .sort-icon {
  font-size: 0.55rem;
  opacity: 0;
  transition: opacity 0.15s;
}

/* line 2095, app/assets/stylesheets/dashboard.scss */
.sortable-header .sort-icon:empty::after {
  content: " ▼";
}

/* line 2100, app/assets/stylesheets/dashboard.scss */
.sortable-header:hover .sort-icon {
  opacity: 0.5;
}

/* line 2104, app/assets/stylesheets/dashboard.scss */
.sortable-header.sort-active {
  color: #cc903c !important;
}

/* line 2107, app/assets/stylesheets/dashboard.scss */
.sortable-header.sort-active .sort-icon {
  opacity: 0.8;
}

/* line 2114, app/assets/stylesheets/dashboard.scss */
.table-empty-filter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 2rem 1rem;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
}

/* line 2123, app/assets/stylesheets/dashboard.scss */
.table-empty-filter i {
  font-size: 1.3rem;
  opacity: 0.4;
}

/* line 2128, app/assets/stylesheets/dashboard.scss */
.table-empty-filter .btn-reset-filters {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.25);
  border-radius: 8px;
  color: #cc903c;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 5px 14px;
  cursor: pointer;
  transition: all 0.15s;
}

/* line 2139, app/assets/stylesheets/dashboard.scss */
.table-empty-filter .btn-reset-filters:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 2147, app/assets/stylesheets/dashboard.scss */
tr.stock-row.price-updated .price-main {
  animation: price-flash 1.5s ease-out;
}

@keyframes price-flash {
  0% {
    color: #cc903c;
  }
  100% {
    color: inherit;
  }
}

/* line 2157, app/assets/stylesheets/dashboard.scss */
.intraday-change {
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1px;
  cursor: help;
}

/* line 2164, app/assets/stylesheets/dashboard.scss */
.intraday-change.muted-positive {
  color: rgba(74, 222, 128, 0.5);
}

/* line 2168, app/assets/stylesheets/dashboard.scss */
.intraday-change.muted-negative {
  color: rgba(248, 113, 113, 0.5);
}

/* line 2172, app/assets/stylesheets/dashboard.scss */
.intraday-change.positive {
  color: #4ade80;
}

/* line 2176, app/assets/stylesheets/dashboard.scss */
.intraday-change.negative {
  color: #f87171;
}

@media (max-width: 767px) {
  /* line 2157, app/assets/stylesheets/dashboard.scss */
  .intraday-change {
    font-size: 0.55rem;
  }
}

/* line 2186, app/assets/stylesheets/dashboard.scss */
.eod-reference {
  font-size: 0.6rem;
  line-height: 1.2;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.4);
  cursor: help;
}

/* line 2193, app/assets/stylesheets/dashboard.scss */
.eod-reference .eod-label {
  font-size: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  opacity: 0.7;
}

@media (max-width: 767px) {
  /* line 2186, app/assets/stylesheets/dashboard.scss */
  .eod-reference {
    font-size: 0.5rem;
  }
  /* line 2204, app/assets/stylesheets/dashboard.scss */
  .eod-reference .eod-label {
    font-size: 0.45rem;
  }
}

/* line 2211, app/assets/stylesheets/dashboard.scss */
.pre-market-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 4px;
  line-height: 1.4;
  margin-top: 2px;
}

/* line 2221, app/assets/stylesheets/dashboard.scss */
.pre-market-up {
  color: #4ade80;
  background: rgba(74, 222, 128, 0.12);
}

/* line 2226, app/assets/stylesheets/dashboard.scss */
.pre-market-down {
  color: #f87171;
  background: rgba(248, 113, 113, 0.12);
}

/* line 2231, app/assets/stylesheets/dashboard.scss */
.pre-market-locked {
  font-size: 0.65rem;
  opacity: 0.5;
  cursor: help;
}

/* line 2238, 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 2246, app/assets/stylesheets/dashboard.scss */
.purchase-info .purchase-label {
  font-size: 0.55rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.7;
}

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

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

/* line 2264, app/assets/stylesheets/dashboard.scss */
.change-cell.positive {
  color: #22c55e;
}

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

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

/* line 2289, app/assets/stylesheets/dashboard.scss */
.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.9) 0%, rgba(27, 35, 51, 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 2297, app/assets/stylesheets/dashboard.scss */
.empty-state .empty-icon {
  width: 64px;
  height: 64px;
  aspect-ratio: 1;
  background: rgba(204, 144, 60, 0.12);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  flex-shrink: 0;
}

/* line 2309, app/assets/stylesheets/dashboard.scss */
.empty-state .empty-icon i {
  font-size: 1.5rem;
  color: #cc903c;
}

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

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

/* line 2328, app/assets/stylesheets/dashboard.scss */
.empty-state .btn {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  border: none;
  color: #f7f6f4;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 2337, app/assets/stylesheets/dashboard.scss */
.empty-state .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(204, 144, 60, 0.15);
}

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

@media (max-width: 575px) {
  /* line 2354, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.4rem;
    padding-top: 0.4rem;
  }
  /* line 2362, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  /* line 2369, 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 2383, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-3::-webkit-scrollbar {
    display: none;
  }
  /* line 2387, 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 2398, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0;
    height: auto;
    min-height: 65px;
    max-height: 70px;
    overflow: hidden;
  }
  /* line 2406, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.85rem !important;
    line-height: 1.1 !important;
  }
  /* line 2411, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2415, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2421, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2427, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    display: none !important;
  }
  /* line 2431, app/assets/stylesheets/dashboard.scss */
  .refresh-status-component .refresh-status-text {
    display: none !important;
  }
  /* line 2435, 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 2442, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 60px;
    gap: 0.15rem;
  }
  /* line 2446, 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 2454, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.1rem !important;
  }
  /* line 2455, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.5rem !important;
    max-width: 52px !important;
  }
  /* line 2456, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 7px !important;
    height: 7px !important;
    transform: translateX(21px) !important;
  }
  /* line 2460, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn-form {
    display: block !important;
    width: 34px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }
  /* line 2467, 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 2474, 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 2486, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn i {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 2491, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn .btn-text-hide {
    display: none !important;
  }
  /* line 2497, app/assets/stylesheets/dashboard.scss */
  .summary-item.stock-count,
.summary-item.last-updated,
.summary-divider.d-none-mobile {
    display: none !important;
  }
  /* line 2509, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 2513, 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 2519, 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 2524, 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 2532, 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 2533, 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 2539, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 2542, 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 2546, 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 2553, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 2556, 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 2558, 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 2559, 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 2563, 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 2564, 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 2567, 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 2572, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 2575, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.55rem !important;
  }
  /* line 2575, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.55rem !important;
  }
  /* line 2576, 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 2577, 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 2577, 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 2581, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 2584, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.55rem !important;
  }
  /* line 2584, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.6rem !important;
  }
  /* line 2585, 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 2586, 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 2591, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 2603, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.4rem !important;
    width: 100% !important;
  }
  /* line 2608, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2612, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2616, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link i {
    margin-right: 4px !important;
  }
  /* line 2621, 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 2634, 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 2641, 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 2661, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    margin-right: 0 !important;
  }
  /* line 2665, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2669, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2673, 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 2678, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active {
    color: #f7f6f4 !important;
    background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
    border-color: rgba(204, 144, 60, 0.4) !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  /* line 2686, 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 2694, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs:has(.nav-item:nth-child(4)) {
    flex-wrap: wrap !important;
  }
  /* line 2697, 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 2704, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs {
    flex-wrap: nowrap !important;
  }
  /* line 2707, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-item {
    flex: 1 !important;
    max-width: none !important;
  }
  /* line 2712, 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 2720, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 2725, 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: 600 !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 2738, 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 2749, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 2752, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header .section-actions {
    width: auto !important;
    flex: 0 0 auto !important;
  }
  /* line 2762, 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 2766, 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 2775, 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 2784, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }
  /* line 2791, app/assets/stylesheets/dashboard.scss */
  .event-field .row {
    flex-direction: column !important;
  }
  /* line 2794, app/assets/stylesheets/dashboard.scss */
  .event-field .row > [class*="col-"] {
    max-width: 100% !important;
    margin-bottom: 0.75rem;
  }
  /* line 2803, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row {
    flex-direction: column !important;
  }
  /* line 2806, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row > [class*="col-"] {
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 0.5rem;
  }
  /* line 2813, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 250px !important;
    overflow-y: auto !important;
  }
  /* line 2817, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item {
    padding: 0.75rem !important;
    font-size: 0.85rem !important;
  }
  /* line 2821, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-symbol {
    font-size: 0.9rem !important;
  }
  /* line 2825, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-name {
    font-size: 0.8rem !important;
  }
  /* line 2829, 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 2840, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 1rem;
    padding-top: 0.75rem;
  }
  /* line 2845, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    width: auto;
  }
  /* line 2851, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.75rem;
  }
  /* line 2855, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1rem !important;
  }
  /* line 2859, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2863, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2869, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2875, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
  /* line 2881, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.15rem !important;
    margin-bottom: 0.1rem !important;
  }
  /* line 2886, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
  }
  /* line 2892, 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 2898, 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 2905, 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 2917, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.75rem;
  }
  /* line 2920, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.5rem 0.25rem !important;
    font-size: 0.65rem !important;
    white-space: nowrap;
  }
  /* line 2926, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.25rem !important;
    vertical-align: middle;
  }
  /* line 2933, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.3rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 2937, 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 2942, 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 2947, 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 2956, 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 2965, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 2973, 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 2978, 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 2982, 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 2987, 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 2994, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.5rem 0.25rem !important;
  }
  /* line 3001, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 3004, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.65rem !important;
  }
  /* line 3012, 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 3016, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: none;
  }
  /* line 3020, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    margin: 0 !important;
    font-size: 0.6rem !important;
  }
  /* line 3029, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.7rem !important;
  }
  /* line 3033, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.5rem !important;
  }
  /* line 3038, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.7rem !important;
  }
  /* line 3041, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell .currency-symbol, .stocks-table .value-cell .currency-symbol {
    font-size: 0.55rem !important;
  }
  /* line 3049, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
  }
  /* line 3053, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3058, 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 3068, 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 3077, 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 3087, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.3rem !important;
  }
  /* line 3090, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.3rem !important;
  }
  /* line 3093, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 3097, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.65rem !important;
  }
  /* line 3105, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 60px;
  }
  /* line 3115, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1rem !important;
    width: 100% !important;
  }
  /* line 3119, 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 3132, 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 3139, 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 3158, 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 3163, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active {
    color: #f7f6f4 !important;
    background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
    border-color: rgba(204, 144, 60, 0.4) !important;
    border-bottom: 2px solid #cc903c !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  /* line 3171, 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, #cc903c 0%, #e0bc8a 100%);
    border-radius: 2px 2px 0 0;
    box-shadow: 0 0 8px rgba(204, 144, 60, 0.6);
  }
  /* line 3184, 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 3192, 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 3200, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 3205, 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: 600 !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 3218, 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 3228, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 3232, 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 3244, 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 3248, 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 3257, 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 3266, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 3275, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 300px !important;
    overflow-y: auto !important;
  }
  /* line 3279, 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 3291, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3297, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 3302, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.6rem !important;
  }
  /* line 3306, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 3310, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.75rem !important;
    gap: 0.4rem !important;
  }
  /* line 3315, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.65rem !important;
  }
  /* line 3319, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.4rem 0 !important;
    gap: 0.5rem !important;
  }
  /* line 3324, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.7rem !important;
  }
  /* line 3328, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 3333, 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 3339, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 3345, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.5rem;
    padding: 0.5rem !important;
  }
  /* line 3350, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.95rem !important;
  }
  /* line 3354, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 3358, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 3364, 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 3371, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.1rem !important;
  }
  /* line 3375, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
    display: none !important;
  }
  /* line 3382, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.3rem !important;
  }
  /* line 3386, 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 3394, 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 3400, 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 3407, 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 3413, 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 3427, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  /* line 3432, 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 3442, 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 3447, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(1), .stocks-table tbody td:nth-child(1) {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
  }
  /* line 3448, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(2), .stocks-table tbody td:nth-child(2) {
    width: 15% !important;
    min-width: 0 !important;
  }
  /* line 3449, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(3), .stocks-table tbody td:nth-child(3) {
    width: 10% !important;
    min-width: 0 !important;
  }
  /* line 3450, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(4), .stocks-table tbody td:nth-child(4) {
    width: 13% !important;
    min-width: 0 !important;
  }
  /* line 3451, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(5), .stocks-table tbody td:nth-child(5) {
    width: 9% !important;
    min-width: 0 !important;
  }
  /* line 3452, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(6), .stocks-table tbody td:nth-child(6) {
    width: 4% !important;
    min-width: 0 !important;
  }
  /* line 3453, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7), .stocks-table tbody td:nth-child(7) {
    width: 7% !important;
    min-width: 0 !important;
  }
  /* line 3454, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8), .stocks-table tbody td:nth-child(8) {
    width: 7% !important;
    min-width: 0 !important;
  }
  /* line 3455, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(9), .stocks-table tbody td:nth-child(9) {
    width: 7% !important;
    min-width: 0 !important;
  }
  /* line 3456, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(10), .stocks-table tbody td:nth-child(10) {
    width: 16% !important;
    min-width: 0 !important;
  }
  /* line 3457, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(11), .stocks-table tbody td:nth-child(11) {
    width: 12% !important;
    min-width: 0 !important;
  }
  /* line 3460, 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 3467, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3472, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7)::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 3489, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3494, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8)::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 3511, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.4rem 0.2rem !important;
    vertical-align: middle;
  }
  /* line 3517, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell {
    padding: 0.2rem !important;
    text-align: center !important;
  }
  /* line 3521, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem !important;
    min-width: unset !important;
  }
  /* line 3525, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai i {
    font-size: 0.6rem !important;
  }
  /* line 3526, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3527, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }
  /* line 3532, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.15rem !important;
  }
  /* line 3535, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.2rem !important;
  }
  /* line 3538, 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 3544, 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 3559, 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 3569, 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 3577, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem !important;
  }
  /* line 3582, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-name-row {
    display: flex !important;
  }
  /* line 3585, 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 3595, 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 3599, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.08rem !important;
  }
  /* line 3600, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none !important;
  }
  /* line 3608, 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 3613, 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 3619, 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 3628, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.35rem !important;
    padding: 0.08rem 0.15rem !important;
  }
  /* line 3635, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.1rem !important;
  }
  /* line 3638, 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 3643, 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 3650, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.08rem !important;
  }
  /* line 3653, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.5rem !important;
  }
  /* line 3654, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.45rem !important;
  }
  /* line 3655, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.4rem !important;
  }
  /* line 3656, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.35rem !important;
  }
  /* line 3661, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.55rem !important;
  }
  /* line 3662, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 3666, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols {
    gap: 0.1rem !important;
  }
  /* line 3669, 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 3673, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols {
    gap: 0.15rem !important;
  }
  /* line 3677, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.15rem !important;
  }
  /* line 3679, 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 3680, 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 3682, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.15rem !important;
  }
  /* line 3684, 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 3685, 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 3693, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.15rem !important;
  }
  /* line 3697, 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 3704, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.4rem !important;
  }
  /* line 3709, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.15rem 0.25rem !important;
    font-size: 0.5rem !important;
  }
  /* line 3715, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.45rem !important;
  }
  /* line 3719, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3724, 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 3729, 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 3732, 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 3736, 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 3743, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.4rem 0.2rem !important;
  }
  /* line 3750, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 3753, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.55rem !important;
  }
  /* line 3761, 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 3765, 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 3770, 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 3779, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.6rem !important;
  }
  /* line 3783, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.45rem !important;
  }
  /* line 3788, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.6rem !important;
  }
  /* line 3792, 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 3800, 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 3809, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3813, 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 3823, 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 3832, 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 3844, 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 3860, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.25rem !important;
  }
  /* line 3863, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.25rem !important;
  }
  /* line 3866, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 3870, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 3878, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 55px;
  }
  /* line 3888, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.75rem !important;
    width: 100% !important;
  }
  /* line 3892, 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 3905, 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 3912, 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 3931, 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 3936, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link.active {
    color: #f7f6f4 !important;
    background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
    border-color: rgba(204, 144, 60, 0.4) !important;
    border-bottom: 2px solid #cc903c !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  /* line 3944, 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, #cc903c 0%, #e0bc8a 100%);
    border-radius: 2px 2px 0 0;
    box-shadow: 0 0 8px rgba(204, 144, 60, 0.6);
  }
  /* line 3957, 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 3971, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3977, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }
  /* line 3982, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.85rem !important;
  }
  /* line 3986, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.75rem !important;
  }
  /* line 3990, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.9rem !important;
    gap: 0.5rem !important;
  }
  /* line 3995, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.8rem !important;
  }
  /* line 3999, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.6rem 0 !important;
    gap: 0.6rem !important;
  }
  /* line 4004, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.75rem !important;
  }
  /* line 4008, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 4013, 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 4019, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 4025, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
  }
  /* line 4029, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1.1rem !important;
  }
  /* line 4033, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 4037, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 4043, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 4049, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  /* line 4055, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.25rem !important;
  }
  /* line 4059, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.8rem !important;
  }
  /* line 4065, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 4069, 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 4077, 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 4083, 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 4090, 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 4096, 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 4108, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.8rem;
  }
  /* line 4113, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.6rem 0.35rem !important;
    font-size: 0.7rem !important;
    white-space: nowrap;
  }
  /* line 4119, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(3), .stocks-table thead th:nth-child(4), .stocks-table thead th:nth-child(5) {
    max-width: 100px !important;
    min-width: 80px !important;
    padding: 0.6rem 0.2rem !important;
  }
  /* line 4126, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 4131, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7)::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 4148, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 4153, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8)::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 4170, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.3rem !important;
    vertical-align: middle;
  }
  /* line 4176, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.2rem !important;
  }
  /* line 4179, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.25rem !important;
  }
  /* line 4182, 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 4187, 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 4192, 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 4200, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem !important;
  }
  /* line 4205, 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 4209, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem !important;
  }
  /* line 4210, 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 4217, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 4221, 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 4226, 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 4235, 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 4244, 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 4253, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 4260, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.15rem !important;
  }
  /* line 4263, 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 4268, 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 4275, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.1rem !important;
  }
  /* line 4278, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.6rem !important;
  }
  /* line 4279, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 4280, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 4281, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 4286, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.65rem !important;
  }
  /* line 4287, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 4292, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.6rem !important;
  }
  /* line 4296, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.3rem !important;
  }
  /* line 4298, 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 4299, 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 4301, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.3rem !important;
  }
  /* line 4303, 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 4304, 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 4311, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.2rem !important;
  }
  /* line 4315, 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 4322, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.45rem !important;
  }
  /* line 4327, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.2rem 0.3rem !important;
    font-size: 0.55rem !important;
  }
  /* line 4333, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.5rem !important;
  }
  /* line 4337, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.45rem !important;
  }
  /* line 4341, 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 4345, 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 4350, 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 4353, 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 4357, 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 4368, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.2rem !important;
  }
  /* line 4371, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.7rem !important;
  }
  /* line 4379, 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 4383, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: inline;
    font-size: 0.55rem !important;
  }
  /* line 4388, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    font-size: 0.6rem !important;
  }
  /* line 4396, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.75rem !important;
  }
  /* line 4400, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.55rem !important;
  }
  /* line 4405, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.75rem !important;
  }
  /* line 4412, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 4417, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
    max-height: none !important;
  }
  /* line 4423, 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 4433, 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 4442, 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 4452, 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 4457, 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 4461, 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 4467, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 4475, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 4485, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1.25rem !important;
    width: 100% !important;
  }
  /* line 4489, 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 4496, 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 4502, 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 4513, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.9rem !important;
    margin-right: 8px !important;
  }
  /* line 4522, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 4530, 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 4534, 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 4543, 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 4552, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.8rem !important;
    margin: 0 !important;
  }
  /* line 4561, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 350px !important;
    overflow-y: auto !important;
  }
  /* line 4565, 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 4580, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
    padding: 0.7rem 0.5rem;
    min-height: 115px;
    max-height: 135px;
  }
  /* line 4587, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    gap: 2rem;
  }
  /* line 4591, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 1rem;
  }
  /* line 4594, app/assets/stylesheets/dashboard.scss */
  .stocks-table th, .stocks-table td {
    padding: 1rem 0.75rem;
  }
  /* line 4599, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 100px;
  }
  /* line 4605, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 12px 20px !important;
    font-size: 0.9rem !important;
    min-height: 48px;
  }
}

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

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

/* line 4645, app/assets/stylesheets/dashboard.scss */
.alert.alert-success {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
  border-left: 4px solid #22c55e;
}

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

/* line 4659, app/assets/stylesheets/dashboard.scss */
.notification-badge {
  position: absolute;
  top: -4px;
  right: -8px;
  background: #ff6b6b;
  color: #f7f6f4;
  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 4692, app/assets/stylesheets/dashboard.scss */
.shares-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 4699, app/assets/stylesheets/dashboard.scss */
.shares-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #f7f6f4;
  line-height: 1.2;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
}

/* line 4708, 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: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 4718, app/assets/stylesheets/dashboard.scss */
.refresh-btn {
  position: relative;
  transition: all 0.3s ease;
}

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

/* line 4727, app/assets/stylesheets/dashboard.scss */
.refresh-btn:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3);
}

/* line 4735, 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 4746, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator.fresh {
  background: rgba(204, 144, 60, 0.1);
  color: #22c55e;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 4752, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator.stale {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 4758, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator i {
  font-size: 0.75rem;
}

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

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

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

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

/* line 4792, 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: 600;
  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 4814, 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(204, 144, 60, 0.08) 0%, rgba(224, 188, 138, 0.06) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

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

/* line 4838, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active {
  color: #f7f6f4 !important;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.18) 0%, rgba(224, 188, 138, 0.14) 100%) !important;
  border-color: rgba(204, 144, 60, 0.35) !important;
  font-weight: 600;
  box-shadow: 0 6px 20px rgba(204, 144, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 0 rgba(204, 144, 60, 0.2);
  transform: translateY(-2px);
}

/* line 4849, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active::before {
  opacity: 1;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.12) 0%, rgba(224, 188, 138, 0.1) 100%);
}

/* line 4854, 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 3px 3px 0 0;
  box-shadow: 0 0 16px rgba(204, 144, 60, 0.8), 0 0 32px rgba(204, 144, 60, 0.4);
  animation: tab-glow 2s ease-in-out infinite;
}

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

/* line 4882, app/assets/stylesheets/dashboard.scss */
.dashboard-tabs .nav-tabs .nav-item .nav-link.active i {
  filter: drop-shadow(0 0 6px rgba(204, 144, 60, 0.6));
}

@keyframes tab-glow {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 16px rgba(204, 144, 60, 0.8), 0 0 32px rgba(204, 144, 60, 0.4);
  }
  50% {
    opacity: 0.85;
    box-shadow: 0 0 20px rgba(204, 144, 60, 0.9), 0 0 40px rgba(204, 144, 60, 0.5);
  }
}

/* line 4906, app/assets/stylesheets/dashboard.scss */
.account-nav-tabs.nav-tabs {
  display: flex !important;
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

/* line 5014, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content {
  background: rgba(17, 24, 37, 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: #f7f6f4 !important;
}

/* line 5021, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header {
  background: linear-gradient(135deg, #1b2333 0%, #1b2333 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px 16px 0 0 !important;
}

/* line 5026, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-header .modal-title {
  color: #f7f6f4 !important;
  font-weight: 600 !important;
}

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

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

/* line 5041, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-body {
  background: rgba(17, 24, 37, 0.85) !important;
  color: #f7f6f4 !important;
  padding: 1.5rem !important;
}

/* line 5046, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-body p {
  color: #f7f6f4 !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* line 5054, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer {
  background: linear-gradient(135deg, #1b2333 0%, #1b2333 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 5060, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn {
  border-radius: 8px !important;
  font-weight: 600 !important;
  padding: 0.5rem 1rem !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* line 5066, 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 5071, 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: #f7f6f4 !important;
}

/* line 5078, app/assets/stylesheets/dashboard.scss */
.modal .modal-dialog .modal-content .modal-footer .btn.btn-primary {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%) !important;
  border: none !important;
  color: #f7f6f4 !important;
}

/* line 5083, 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(204, 144, 60, 0.15) !important;
}

/* line 5095, app/assets/stylesheets/dashboard.scss */
.tldr-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 5099, 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 5109, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.buy {
  background: rgba(204, 144, 60, 0.1);
  color: #22c55e;
  border-color: #22c55e;
}

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

/* line 5121, app/assets/stylesheets/dashboard.scss */
.tldr-cell .tldr-badge.hold {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  border-color: #cc903c;
}

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

/* line 5138, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn-check:checked + .btn {
  background: linear-gradient(135deg, #cc903c, #22c55e);
  border-color: #22c55e;
  color: #f7f6f4;
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3);
}

/* line 5145, 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 5153, app/assets/stylesheets/dashboard.scss */
.forecast-toggle .btn-group .btn:hover {
  border-color: #cc903c;
  color: #cc903c;
  background: rgba(204, 144, 60, 0.1);
}

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

/* line 5168, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-title {
  color: #f7f6f4;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 5177, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-title i {
  color: #cc903c;
  font-size: 1.2rem;
}

/* line 5183, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table {
  background: linear-gradient(145deg, #1b2333 0%, #1b2333 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: #f7f6f4;
}

/* line 5192, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table thead {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

/* line 5195, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table thead th {
  color: #f7f6f4;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  border: none;
  padding: 1rem 0.75rem;
  text-align: center;
}

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

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

/* line 5221, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td {
  border: none;
  padding: 1rem 0.75rem;
  vertical-align: middle;
  color: #f7f6f4;
  text-align: center;
}

/* line 5228, 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 5232, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.price-cell.positive, .forecast-recommendations .forecast-table tbody td.growth-cell.positive {
  color: #22c55e;
}

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

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

/* line 5261, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .timeframe-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  background: rgba(204, 144, 60, 0.1);
  color: #22c55e;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 5276, app/assets/stylesheets/dashboard.scss */
.watch-lists-container {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

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

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

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

/* line 5294, 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 5303, 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, #cc903c, #e0bc8a);
  border-radius: 12px 12px 0 0;
}

/* line 5314, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header {
  margin-bottom: 1.5rem !important;
}

/* line 5317, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header .watch-title {
  color: #f7f6f4 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

/* line 5326, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-header .watch-title i {
  color: #cc903c !important;
  font-size: 1.1rem !important;
}

/* line 5334, 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 5342, 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 5347, 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 5354, 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 5360, 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 5366, app/assets/stylesheets/dashboard.scss */
.watch-list-section .watch-list-card .watch-list-content .watch-item .watch-text strong {
  color: #cc903c !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 5376, 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 5390, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0.05) 100%);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 12px;
  color: #f7f6f4;
  padding: 1.5rem;
}

/* line 5397, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert i {
  color: #cc903c;
  margin-right: 0.5rem;
}

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

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

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

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

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

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

/* line 5446, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-stock-info .stock-info strong {
  font-size: 1.4rem;
  font-weight: 700;
  color: #f7f6f4;
  display: block;
  margin-bottom: 0.5rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  letter-spacing: 0.5px;
}

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

/* line 5480, 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: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 5488, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value {
  color: #f7f6f4;
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 5493, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value.positive {
  color: #22c55e;
}

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

/* line 5501, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value .estimated-value {
  font-size: 0.9rem;
  font-weight: 600;
  margin-top: 0.25rem;
}

/* line 5508, 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 5513, 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 5522, 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 5527, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-ai-section .ai-analysis-toggle {
  margin-bottom: 1rem;
}

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

/* line 5555, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-ai-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2), rgba(0, 184, 212, 0.2));
  border: 1px solid rgba(204, 144, 60, 0.35);
  color: #cc903c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 3px 8px;
  border-radius: 6px;
  text-transform: uppercase;
}

/* line 5568, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-ai-badge i {
  font-size: 9px;
}

/* line 5571, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #f7f6f4;
  margin: 0;
  letter-spacing: -0.02em;
}

/* line 5579, 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 5589, 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 5597, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-live-dot {
  width: 6px;
  height: 6px;
  background: #cc903c;
  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 5611, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 5618, 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, #cc903c 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(204, 144, 60, 0.3);
  white-space: nowrap;
}

/* line 5633, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate i {
  font-size: 13px;
}

/* line 5634, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(204, 144, 60, 0.45);
}

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

/* line 5647, 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 5661, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-configure:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f7f6f4;
  border-color: rgba(255, 255, 255, 0.25);
}

/* line 5669, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(204, 144, 60, 0.07);
  border: 1px solid rgba(204, 144, 60, 0.18);
  border-radius: 8px;
  padding: 8px 14px;
  margin-bottom: 1.25rem;
}

/* line 5678, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer i {
  color: rgba(204, 144, 60, 0.7);
  font-size: 11px;
  flex-shrink: 0;
}

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

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

/* line 5712, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-count {
  background: var(--accent, #cc903c);
  color: #f7f6f4;
  font-size: 0.65rem;
  padding: 0.1rem 0.4rem;
  border-radius: 10px;
  font-weight: 600;
}

/* line 5721, 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 5736, 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 5743, 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 5753, 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 5764, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox:hover {
  background: rgba(255, 255, 255, 0.06);
}

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

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

/* line 5783, 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 5791, 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 5801, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-buy {
  border-left: 3px solid #22c55e;
}

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

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

/* line 5807, 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 5815, 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: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* line 5827, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge.opp-rec-buy {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.15);
}

/* line 5833, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge.opp-rec-sell {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.15);
}

/* line 5839, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rec-badge.opp-rec-hold {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.25);
}

/* line 5846, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  flex: 1;
}

/* line 5852, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero.positive {
  color: #22c55e;
}

/* line 5853, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero.negative {
  color: #ef4444;
}

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

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

/* line 5887, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-name {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

/* line 5897, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

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

/* line 5916, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-sector {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 5921, 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 5927, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis {
  background: rgba(224, 188, 138, 0.15);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.35);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
  box-shadow: 0 0 8px rgba(224, 188, 138, 0.3), 0 0 16px rgba(224, 188, 138, 0.15);
  animation: analyse-glow 2.5s ease-in-out infinite;
  padding: 5px 14px 5px 10px;
  position: relative;
}

/* line 5938, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis i {
  opacity: 1;
}

/* line 5940, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis .opp-tag-analysis-arrow {
  font-size: 7px;
  position: absolute;
  top: 2px;
  right: 3px;
  opacity: 0.8;
}

/* line 5942, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis:hover {
  background: rgba(224, 188, 138, 0.3);
  border-color: rgba(224, 188, 138, 0.6);
  box-shadow: 0 0 12px rgba(224, 188, 138, 0.5), 0 0 24px rgba(224, 188, 138, 0.25);
  color: #e0bc8a;
  animation: none;
}

@keyframes analyse-glow {
  0%, 100% {
    box-shadow: 0 0 8px rgba(224, 188, 138, 0.3), 0 0 16px rgba(224, 188, 138, 0.15);
  }
  50% {
    box-shadow: 0 0 12px rgba(224, 188, 138, 0.5), 0 0 24px rgba(224, 188, 138, 0.25);
  }
}

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

/* line 5979, 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 5987, 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 5991, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-value.opp-target {
  color: #cc903c;
}

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

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

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

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

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

/* line 6048, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-ring .opp-ring-fill.confidence-very-high {
  stroke: #cc903c;
  filter: drop-shadow(0 0 4px rgba(204, 144, 60, 0.6));
}

/* line 6052, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-confidence-score {
  position: relative;
  z-index: 2;
  font-size: 0.82rem;
  font-weight: 700;
  color: #f7f6f4;
  line-height: 1;
}

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

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

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

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

/* line 6095, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state .opp-empty-icon {
  width: 72px;
  height: 72px;
  background: rgba(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

/* line 6105, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-empty-state .opp-empty-icon i {
  font-size: 1.8rem;
  color: #cc903c;
}

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

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

/* line 6121, 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 6134, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-add-btn {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.25);
}

/* line 6138, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-add-btn:hover {
  background: rgba(204, 144, 60, 0.25);
  transform: scale(1.1);
  box-shadow: 0 0 12px rgba(204, 144, 60, 0.3);
}

/* line 6145, 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 6149, 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 6157, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-undismiss-btn {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 6161, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-btn.opp-undismiss-btn:hover {
  background: rgba(204, 144, 60, 0.2);
  transform: scale(1.1);
}

/* line 6168, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-action-done {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
}

/* line 6183, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-track-record {
  display: flex;
  align-items: center;
  gap: 0;
  background: rgba(204, 144, 60, 0.04);
  border: 1px solid rgba(204, 144, 60, 0.12);
  border-radius: 12px;
  padding: 12px 20px;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 12px;
}

/* line 6196, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 60px;
}

/* line 6204, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}

/* line 6207, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value.positive {
  color: #22c55e;
}

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

/* line 6212, 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 6220, 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 6227, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-badge {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.2);
  color: #cc903c;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.5px;
}

/* line 6240, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-badge i {
  font-size: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 640px) {
  /* line 6313, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 6314, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header-actions {
    justify-content: stretch;
  }
  /* line 6315, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-generate {
    flex: 1;
    justify-content: center;
  }
  /* line 6316, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-configure {
    justify-content: center;
  }
  /* line 6317, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-top {
    padding: 11px 13px 9px;
  }
  /* line 6318, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.25rem;
  }
  /* line 6319, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-identity {
    padding: 10px 13px;
  }
  /* line 6320, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-tags {
    justify-content: flex-start;
  }
  /* line 6321, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metrics-row {
    padding: 10px 13px;
  }
  /* line 6322, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-rationale {
    padding: 10px 13px 13px;
  }
  /* line 6323, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-divider {
    margin: 0 10px;
  }
  /* line 6324, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-name {
    max-width: 140px;
  }
}

@media (max-width: 400px) {
  /* line 6329, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-value {
    font-size: 0.85rem;
  }
  /* line 6330, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-symbol {
    font-size: 1rem;
  }
  /* line 6331, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.1rem;
  }
  /* line 6332, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring-wrap {
    width: 40px;
    height: 40px;
  }
  /* line 6333, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring {
    width: 40px;
    height: 40px;
  }
  /* line 6334, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-score {
    font-size: 0.72rem;
  }
}

/* line 6340, app/assets/stylesheets/dashboard.scss */
.custom-tooltip .tooltip-inner {
  background: linear-gradient(135deg, #1b2333 0%, #1b2333 100%);
  color: #f7f6f4;
  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 6354, app/assets/stylesheets/dashboard.scss */
.custom-tooltip .tooltip-arrow::before {
  border-top-color: #1b2333;
}

/* line 6361, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn {
  background: transparent !important;
  border: 2px solid #cc903c !important;
  color: #cc903c !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

/* line 6368, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:hover {
  background: #cc903c !important;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3);
}

/* line 6375, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(204, 144, 60, 0.25) !important;
}

/* line 6379, app/assets/stylesheets/dashboard.scss */
.section-header .btn.manage-portfolio-btn:active {
  background: #ffb300 !important;
  color: #000 !important;
}

/* line 6386, app/assets/stylesheets/dashboard.scss */
.add-stock-placeholder-row td {
  padding: 8px !important;
  border-top: 1px dashed rgba(204, 144, 60, 0.25) !important;
  background: transparent !important;
}

/* line 6392, 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(204, 144, 60, 0.55);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
  border-radius: 0;
}

/* line 6409, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn:hover {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.06);
}

/* line 6414, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn[aria-expanded="true"] {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.06);
}

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

/* line 6425, app/assets/stylesheets/dashboard.scss */
.add-stock-mobile-placeholder {
  margin-top: 0.5rem;
  border: 1px dashed rgba(204, 144, 60, 0.25);
  border-radius: 12px;
  overflow: hidden;
}

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

/* line 6445, app/assets/stylesheets/dashboard.scss */
.empty-state-add-stock #dashboard-add-stock-panel {
  border-radius: 12px;
  border-top: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 6452, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-collapse {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

/* line 6457, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel {
  background: rgba(204, 144, 60, 0.04);
  border: 1px solid rgba(204, 144, 60, 0.2);
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 1.25rem 1.5rem;
}

/* line 6465, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form .fw-semibold {
  color: #cc903c;
}

/* line 6469, 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 6474, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form .form-control:focus {
  border-color: #cc903c;
  box-shadow: 0 0 0 0.2rem rgba(204, 144, 60, 0.2);
}

/* line 6482, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="button"] {
  display: none !important;
}

/* line 6486, 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 6491, app/assets/stylesheets/dashboard.scss */
#dashboard-add-stock-panel .dashboard-add-stock-form #stock-search-form [data-search-target="results"] {
  position: relative !important;
  z-index: 100002;
  width: 100%;
  margin-top: 0.5rem;
  background: #131e2b;
  border: 1px solid rgba(204, 144, 60, 0.18);
  border-radius: 10px;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

/* line 6503, 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 6510, 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(204, 144, 60, 0.08) !important;
}

/* line 6514, 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 6518, 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 6523, 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 6527, 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 6532, 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 6537, 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 6543, 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 6556, 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(224, 188, 138, 0.15) !important;
  border: 1px solid rgba(224, 188, 138, 0.35) !important;
  color: #e0bc8a !important;
}

/* line 6561, 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(224, 188, 138, 0.28) !important;
  color: #e0bc8a !important;
}

/* line 6568, 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(204, 144, 60, 0.15) !important;
  border: 1px solid rgba(204, 144, 60, 0.3) !important;
  color: #cc903c !important;
}

/* line 6573, 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(204, 144, 60, 0.25) !important;
}

/* line 6584, app/assets/stylesheets/dashboard.scss */
.section-actions .d-flex {
  flex-wrap: wrap;
  gap: 0.5rem;
}

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

/* line 6602, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card {
  background: rgba(17, 24, 37, 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 6609, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 6613, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header h4 {
  color: #f7f6f4;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* line 6623, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-header h4 i {
  color: #cc903c;
}

/* line 6628, 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 6636, 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 6643, 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: #f7f6f4;
  margin-bottom: 1rem;
}

/* line 6652, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-grid .preference-group .preference-label i {
  color: #cc903c;
  font-size: 1.1rem;
}

/* line 6658, 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 6663, 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 6674, 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(204, 144, 60, 0.3);
}

/* line 6679, 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: #cc903c;
}

/* line 6686, 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: 600;
  color: #f7f6f4;
  cursor: pointer;
  user-select: none;
}

/* line 6694, 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(204, 144, 60, 0.1);
  border-color: #cc903c;
}

/* line 6698, 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: #cc903c;
  font-weight: 600;
}

/* line 6708, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions {
  text-align: center;
}

/* line 6711, 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 6721, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.3);
}

/* line 6732, 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 6738, app/assets/stylesheets/dashboard.scss */
.ai-advice-card {
  background: linear-gradient(145deg, #1b2333 0%, #1b2333 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  height: 100%;
}

/* line 6746, app/assets/stylesheets/dashboard.scss */
.ai-advice-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
}

/* AI Advice Full Width Layout */
/* line 6754, app/assets/stylesheets/dashboard.scss */
.ai-advice-full-width {
  margin-top: 20px;
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

/* line 6823, 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 6829, 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 6835, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card.event-type-dividend {
  border-left-color: #cc903c;
  background: rgba(204, 144, 60, 0.08);
}

/* line 6840, 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 6845, 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 6850, 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 6856, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-emoji {
  font-size: 1rem;
}

/* line 6860, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-symbol {
  font-weight: 700;
  color: #f7f6f4;
  font-size: 0.85rem;
}

/* line 6866, 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 6877, 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 6884, 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 6896, 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 6903, 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 6914, app/assets/stylesheets/dashboard.scss */
.stock-name-modal {
  font-size: 0.9rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 7039, app/assets/stylesheets/dashboard.scss */
.calendar-column {
  background: rgba(204, 144, 60, 0.05);
  border-radius: 12px;
  padding: 1rem;
  border: 1px solid rgba(204, 144, 60, 0.15);
  min-width: 0;
  overflow: hidden;
}

/* line 7047, app/assets/stylesheets/dashboard.scss */
.calendar-column .section-header-mini h5 {
  color: #cc903c;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

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

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

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

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

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

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

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

/* line 7129, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.today {
  background: rgba(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.4);
}

/* line 7133, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell.today .day-number {
  color: #cc903c;
  font-weight: 700;
}

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

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

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

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

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

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

/* line 7198, 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 7204, 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 7210, 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 7216, app/assets/stylesheets/dashboard.scss */
.calendar-container .calendar-cell .event-dot.event-warning {
  background: rgba(224, 188, 138, 0.25);
  border: 2px solid #e0bc8a;
  color: #e0bc8a;
}

/* line 7222, 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 7229, 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 7240, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip {
  position: absolute;
  background: rgba(17, 24, 37, 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 7256, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip.visible {
  opacity: 1;
  visibility: visible;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 7412, 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 7420, 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 7431, 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 7439, app/assets/stylesheets/dashboard.scss */
.no-context-message i {
  color: #cc903c;
}

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

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

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

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

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

/* line 7487, 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 7499, app/assets/stylesheets/dashboard.scss */
  .calendar-column {
    padding: 0.75rem;
  }
  /* line 7502, app/assets/stylesheets/dashboard.scss */
  .calendar-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 7507, app/assets/stylesheets/dashboard.scss */
  .context-column {
    padding: 0.75rem;
  }
  /* line 7510, app/assets/stylesheets/dashboard.scss */
  .context-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 7516, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 38px;
  }
  /* line 7519, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.6rem;
  }
  /* line 7523, 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 7531, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.45rem;
  }
  /* line 7539, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.75rem;
  }
  /* line 7543, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-text {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  /* line 7549, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 8px;
  }
  /* line 7552, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.6rem;
  }
  /* line 7556, 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 7564, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.4rem;
  }
}

/* Responsive for Calendar Section */
@media (max-width: 767px) {
  /* line 7573, app/assets/stylesheets/dashboard.scss */
  .events-context-section {
    margin-bottom: 1rem;
    width: 100%;
    padding: 0;
  }
  /* line 7579, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    gap: 0.75rem;
    width: 100%;
  }
  /* line 7584, app/assets/stylesheets/dashboard.scss */
  .calendar-column,
.context-column {
    padding: 0.75rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  /* line 7593, app/assets/stylesheets/dashboard.scss */
  .calendar-container {
    width: 100%;
  }
  /* line 7597, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-header .calendar-title {
    font-size: 0.8rem;
  }
  /* line 7602, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    width: 100%;
  }
  /* line 7609, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.55rem;
    padding: 3px 0;
    text-align: center;
  }
  /* line 7615, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 32px;
    padding: 2px 1px;
    aspect-ratio: unset;
  }
  /* line 7620, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.5rem;
  }
  /* line 7624, 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 7632, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.35rem;
  }
  /* line 7637, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-indicators {
    gap: 1px;
    margin-top: 1px;
  }
  /* line 7644, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 8px;
    margin-top: 8px;
  }
  /* line 7651, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-item {
    gap: 3px;
  }
  /* line 7655, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.5rem;
  }
  /* line 7659, 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 7667, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.3rem;
  }
  /* Market context mobile fixes */
  /* line 7675, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-item {
    padding: 6px 0;
    gap: 6px;
    flex-wrap: nowrap;
  }
  /* line 7681, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-emoji {
    font-size: 0.9rem;
    flex-shrink: 0;
  }
  /* line 7686, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-content {
    min-width: 0;
    flex: 1;
  }
  /* line 7691, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.7rem;
    display: block;
    margin-bottom: 2px;
  }
  /* line 7697, 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 7707, app/assets/stylesheets/dashboard.scss */
  .no-context-message {
    font-size: 0.75rem;
    padding: 8px;
  }
  /* line 7712, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list {
    padding: 6px;
  }
  /* line 7715, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-header {
    font-size: 0.7rem;
    margin-bottom: 6px;
  }
  /* line 7720, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-item {
    font-size: 0.7rem;
    gap: 4px;
    flex-wrap: nowrap;
  }
  /* line 7726, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-emoji {
    flex-shrink: 0;
  }
  /* line 7730, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-symbol {
    min-width: 35px;
    font-size: 0.65rem;
    flex-shrink: 0;
  }
  /* line 7736, 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 7748, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.45rem;
  }
  /* line 7752, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 28px;
  }
  /* line 7755, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.45rem;
  }
  /* line 7759, 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 7767, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.3rem;
  }
  /* line 7775, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.45rem;
  }
  /* line 7779, 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 7790, 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 7796, app/assets/stylesheets/dashboard.scss */
.ai-advice-symbol {
  font-size: 1.25rem;
  font-weight: 700;
  color: #cc903c;
  margin: 0 0 0.25rem 0;
  line-height: 1.2;
}

/* line 7804, app/assets/stylesheets/dashboard.scss */
.ai-advice-name {
  font-size: 0.875rem;
  color: #64748b;
  font-weight: 600;
}

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

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

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

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

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

/* line 7835, app/assets/stylesheets/dashboard.scss */
.refresh-needed {
  color: #f7f6f4 !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 7848, app/assets/stylesheets/dashboard.scss */
.refresh-needed i {
  font-size: 0.8rem;
}

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

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

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

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

/* line 7875, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(224, 188, 138, 0.1) 100%);
  border: 1px solid rgba(204, 144, 60, 0.3);
  color: #cc903c;
  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 7890, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.2) 100%);
  border-color: rgba(204, 144, 60, 0.5);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.2);
}

/* line 7897, app/assets/stylesheets/dashboard.scss */
.ai-advice-toggle-btn i {
  transition: transform 0.3s ease;
}

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

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

/* line 7913, app/assets/stylesheets/dashboard.scss */
.ai-advice-row {
  background: linear-gradient(145deg, #0f172a 0%, #1e293b 100%);
  border-top: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 7917, app/assets/stylesheets/dashboard.scss */
.ai-advice-row td {
  padding: 0;
  border: none;
}

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

/* line 7929, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-card {
  background: linear-gradient(145deg, #1b2333 0%, #1b2333 100%);
  border: 1px solid rgba(204, 144, 60, 0.2);
  border-radius: 12px;
  padding: 1.5rem;
  margin: 0;
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* line 7940, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #cc903c, #00b4d8);
  border-radius: 12px 12px 0 0;
}

/* line 7951, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
}

/* line 7958, 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(204, 144, 60, 0.2);
}

/* line 7967, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.2) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3);
}

/* line 7977, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-icon i {
  font-size: 1.25rem;
  color: #cc903c;
}

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

/* line 7986, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title h4 {
  color: #f7f6f4;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  letter-spacing: -0.01em;
}

/* line 7994, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-title p {
  color: #64748b;
  font-size: 0.875rem;
  margin: 0;
  font-weight: 600;
}

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

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

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

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

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

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

/* line 8032, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 8037, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header h5 {
  color: #cc903c;
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 8046, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-header h5 i {
  font-size: 1.1rem;
}

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

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

/* line 8062, 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 8068, 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 8073, 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 8083, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .trading-metrics .metric-item .metric-label {
  color: #cc903c;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 8092, 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 8101, 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 8106, 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 8116, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-period {
  color: #cc903c;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 8125, 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 8129, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value.positive {
  color: #cc903c;
}

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

/* line 8143, 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 8147, 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 8151, 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: #cc903c;
  font-size: 1rem;
  font-weight: 600;
  display: block;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 8161, 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, #cc903c, #00a8cc);
  border-radius: 2px;
}

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

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

/* line 8192, app/assets/stylesheets/dashboard.scss */
.forecast-type-badge {
  display: inline-block;
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  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(204, 144, 60, 0.3);
}

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

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

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

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

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

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

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

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

/* line 8271, app/assets/stylesheets/dashboard.scss */
.watch-out-card {
  background: linear-gradient(145deg, #1b2333 0%, #1b2333 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 8281, 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 8291, app/assets/stylesheets/dashboard.scss */
.watch-out-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
}

/* line 8298, app/assets/stylesheets/dashboard.scss */
.watch-out-card.events-card::before {
  background: linear-gradient(90deg, #cc903c, #cc903c);
}

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

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

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

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

/* line 8329, app/assets/stylesheets/dashboard.scss */
.events-card .watch-out-icon {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

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

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

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

/* line 8351, app/assets/stylesheets/dashboard.scss */
.watch-out-content h5 {
  color: #f7f6f4;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.75rem 0;
  letter-spacing: -0.01em;
}

/* line 8359, app/assets/stylesheets/dashboard.scss */
.watch-out-content p {
  color: #94a3b8;
  line-height: 1.6;
  font-size: 0.9rem;
  margin: 0;
}

/* line 8368, 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 8378, 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 8387, 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 8394, 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: 600 !important;
}

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

/* line 8451, 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(204, 144, 60, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* line 8457, 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: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0.25rem !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8457, 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 8457, 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 8480, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card .growth-estimates-container .metric-item .metric-value {
  color: #f7f6f4 !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 8480, 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 8480, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.55rem !important;
  }
}

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

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

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

/* line 8518, 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(204, 144, 60, 0.15) 0%, rgba(204, 144, 60, 0.25) 100%) !important;
  color: #cc903c !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(204, 144, 60, 0.3) !important;
  box-shadow: 0 2px 4px rgba(204, 144, 60, 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 8538, app/assets/stylesheets/dashboard.scss */
.symbol-tag:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25) 0%, rgba(204, 144, 60, 0.35) 100%) !important;
  border-color: rgba(204, 144, 60, 0.5) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(204, 144, 60, 0.2) !important;
}

/* line 8547, app/assets/stylesheets/dashboard.scss */
.stock-watermark-cell {
  display: none !important;
}

/* line 8552, app/assets/stylesheets/dashboard.scss */
.stock-logo-mini {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border-radius: 50% !important;
  -webkit-clip-path: circle(50%) !important;
  clip-path: circle(50%) !important;
  object-fit: cover !important;
  overflow: hidden !important;
  background: #1a1f2e !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25) !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

/* line 8575, 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 8584, 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 8592, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover {
  background: rgba(var(--accent-primary-rgb), 0.08);
  padding-right: 0.35rem;
}

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

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

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

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

/* line 8630, 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;
  white-space: nowrap !important;
  border: 1px solid !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: all 0.2s ease !important;
}

/* line 8650, 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 8655, app/assets/stylesheets/dashboard.scss */
.action-badge.buy, .buy.forecast-badge {
  background: rgba(34, 197, 94, 0.15) !important;
  color: #22c55e !important;
  border-color: rgba(34, 197, 94, 0.4) !important;
}

/* line 8661, app/assets/stylesheets/dashboard.scss */
.action-badge.sell, .sell.forecast-badge {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #ef4444 !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
}

/* line 8667, app/assets/stylesheets/dashboard.scss */
.action-badge.hold, .hold.forecast-badge {
  background: rgba(204, 144, 60, 0.15) !important;
  color: #cc903c !important;
  border-color: rgba(204, 144, 60, 0.4) !important;
}

/* line 8673, app/assets/stylesheets/dashboard.scss */
.action-badge.wait, .wait.forecast-badge {
  background: rgba(107, 114, 128, 0.15) !important;
  color: #6b7280 !important;
  border-color: rgba(107, 114, 128, 0.4) !important;
}

/* line 8679, app/assets/stylesheets/dashboard.scss */
.action-badge.trim, .trim.forecast-badge {
  background: rgba(224, 188, 138, 0.15) !important;
  color: #e0bc8a !important;
  border-color: rgba(224, 188, 138, 0.4) !important;
}

/* line 8685, app/assets/stylesheets/dashboard.scss */
.action-badge.needs-refresh, .needs-refresh.forecast-badge {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15) 0%, rgba(204, 144, 60, 0.25) 100%) !important;
  color: #cc903c !important;
  border-color: rgba(204, 144, 60, 0.4) !important;
  animation: pulse-warning 2s infinite;
}

/* line 8699, app/assets/stylesheets/dashboard.scss */
.medium-term-cell {
  text-align: center;
  vertical-align: middle;
  padding: 1rem 0.75rem !important;
  max-width: 150px !important;
}

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

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

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

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

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

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

/* line 8792, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy {
  background: rgba(34, 197, 94, 0.15) !important;
  border-color: rgba(34, 197, 94, 0.5) !important;
  color: #22c55e !important;
  box-shadow: 0 2px 4px rgba(34, 197, 94, 0.15) !important;
}

/* line 8797, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy:hover {
  background: rgba(34, 197, 94, 0.25) !important;
  border-color: rgba(34, 197, 94, 0.7) !important;
  box-shadow: 0 4px 8px rgba(34, 197, 94, 0.25) !important;
}

/* line 8802, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy:focus {
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25) !important;
}

/* line 8805, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
  color: #ef4444 !important;
  box-shadow: 0 2px 4px rgba(239, 68, 68, 0.15) !important;
}

/* line 8810, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell:hover {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: rgba(239, 68, 68, 0.7) !important;
  box-shadow: 0 4px 8px rgba(239, 68, 68, 0.25) !important;
}

/* line 8815, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25) !important;
}

/* line 8818, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold {
  background: rgba(204, 144, 60, 0.15) !important;
  border-color: rgba(204, 144, 60, 0.5) !important;
  color: #cc903c !important;
  box-shadow: 0 2px 4px rgba(204, 144, 60, 0.15) !important;
}

/* line 8823, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold:hover {
  background: rgba(204, 144, 60, 0.25) !important;
  border-color: rgba(204, 144, 60, 0.7) !important;
  box-shadow: 0 4px 8px rgba(204, 144, 60, 0.25) !important;
}

/* line 8828, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold:focus {
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.25) !important;
}

/* line 8831, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait {
  background: rgba(107, 114, 128, 0.15) !important;
  border-color: rgba(107, 114, 128, 0.5) !important;
  color: #6b7280 !important;
  box-shadow: 0 2px 4px rgba(107, 114, 128, 0.15) !important;
}

/* line 8836, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait:hover {
  background: rgba(107, 114, 128, 0.25) !important;
  border-color: rgba(107, 114, 128, 0.7) !important;
  box-shadow: 0 4px 8px rgba(107, 114, 128, 0.25) !important;
}

/* line 8841, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait:focus {
  box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.25) !important;
}

/* line 8844, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.trim {
  background: rgba(224, 188, 138, 0.15) !important;
  border-color: rgba(224, 188, 138, 0.5) !important;
  color: #e0bc8a !important;
  box-shadow: 0 2px 4px rgba(224, 188, 138, 0.15) !important;
}

/* line 8849, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.trim:hover {
  background: rgba(224, 188, 138, 0.25) !important;
  border-color: rgba(224, 188, 138, 0.7) !important;
  box-shadow: 0 4px 8px rgba(224, 188, 138, 0.25) !important;
}

/* line 8854, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.trim:focus {
  box-shadow: 0 0 0 3px rgba(224, 188, 138, 0.25) !important;
}

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

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

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

/* line 8874, 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 8879, 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 #cc903c;
}

@keyframes pulse-warning {
  0% {
    box-shadow: 0 2px 4px rgba(204, 144, 60, 0.1);
  }
  50% {
    box-shadow: 0 4px 8px rgba(204, 144, 60, 0.3);
  }
  100% {
    box-shadow: 0 2px 4px rgba(204, 144, 60, 0.1);
  }
}

/* line 8904, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(224, 188, 138, 0.1) 100%) !important;
  border: 1px solid rgba(204, 144, 60, 0.4) !important;
  color: #cc903c !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(204, 144, 60, 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 8922, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.2) 100%) !important;
  border-color: rgba(204, 144, 60, 0.6) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(204, 144, 60, 0.2) !important;
}

/* line 8929, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.25) !important;
}

/* line 8934, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 4px rgba(204, 144, 60, 0.1) !important;
}

/* line 8939, 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 8946, 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 8952, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn[aria-expanded="true"] i {
  transform: rotate(90deg) !important;
}

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

/* line 8963, 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 8985, 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 8991, 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 8998, 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(204, 144, 60, 0.2) !important;
  border-color: rgba(204, 144, 60, 0.4) !important;
  color: #e0bc8a !important;
}

/* line 9004, 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(204, 144, 60, 0.3) !important;
  border-color: rgba(204, 144, 60, 0.5) !important;
  color: #e0bc8a !important;
}

/* line 9009, 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 9016, 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 9024, 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 9034, 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 9038, 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 9043, 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 9052, 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 9059, 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 9063, 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 9068, 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 9080, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-cell {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

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

/* line 9107, 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 9116, 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 9121, 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 9129, 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: #cc903c;
}

/* line 9132, 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 9139, 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 9150, 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 9155, 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(204, 144, 60, 0.8);
  color: #f7f6f4;
  box-shadow: 0 2px 8px rgba(204, 144, 60, 0.3);
}

/* line 9164, 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 9171, 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 9177, 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 9185, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats {
  display: flex;
  gap: 1rem;
}

/* line 9189, 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 9194, 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: 600;
}

/* line 9200, 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 9208, 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 9216, 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: 600;
}

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

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

/* line 9233, 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 9242, 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 9249, 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 9255, 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(204, 144, 60, 0.2), rgba(224, 188, 138, 0.2));
  border: 1px solid rgba(204, 144, 60, 0.4);
  border-radius: 6px;
  color: #e0bc8a;
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

/* line 9269, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more i {
  font-size: 0.65rem;
}

/* line 9271, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.3), rgba(224, 188, 138, 0.3));
  border-color: rgba(204, 144, 60, 0.6);
  transform: translateY(-1px);
}

/* line 9281, 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 9285, 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 9292, 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 9297, 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 9304, 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 9310, 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 9319, 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 9325, 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 9327, 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 9332, 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 9337, 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 9338, 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 9340, 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 9343, 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 9344, 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 9349, 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(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 9355, 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(204, 144, 60, 0.12);
  border: 1px solid rgba(204, 144, 60, 0.25);
  border-radius: 6px;
  color: #e0bc8a;
  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 9372, 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 9374, 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(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 0.4);
}

@media (max-width: 767px) {
  /* line 9386, 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 9392, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section {
    padding: 0.75rem;
    gap: 0.5rem;
  }
  /* line 9396, 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 9401, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .chart-title {
    font-size: 0.75rem;
  }
  /* line 9405, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .period-selector {
    width: 100%;
    justify-content: space-between;
  }
  /* line 9409, 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 9417, 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 9422, 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 9428, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats {
    gap: 0.6rem;
  }
  /* line 9432, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-label {
    font-size: 0.6rem;
  }
  /* line 9433, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-value {
    font-size: 0.65rem;
  }
  /* line 9437, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary {
    padding: 0.25rem 0.5rem;
  }
  /* line 9440, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-label {
    font-size: 0.6rem;
  }
  /* line 9441, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-value {
    font-size: 0.75rem;
  }
  /* line 9445, 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 9452, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 9456, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 140px;
  }
  /* line 9460, 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 9466, 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 9471, 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 9472, 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 9473, 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 9476, 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 9486, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card {
    max-width: 400px;
    padding: 0.9rem;
  }
  /* line 9490, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card.chart-dropdown-card-pro {
    max-width: 650px;
  }
  /* line 9495, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-container {
    height: 110px;
  }
  /* line 9500, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    gap: 1rem;
  }
  /* line 9503, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 160px;
  }
  /* line 9507, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel {
    width: 160px;
  }
  /* line 9510, 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 9512, 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 9513, 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 9516, 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 9526, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row {
  background: rgba(15, 23, 42, 0.95) !important;
}

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

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

/* line 9561, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.15) !important;
}

/* line 9566, 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(204, 144, 60, 0.05) 0%, rgba(224, 188, 138, 0.05) 100%) !important;
  border-bottom: 1px solid rgba(204, 144, 60, 0.2) !important;
  border-radius: 8px !important;
  position: relative !important;
}

/* line 9577, 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, #cc903c, #e0bc8a) !important;
  border-radius: 8px 8px 0 0 !important;
}

/* line 9588, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-icon {
  margin-right: 1rem !important;
}

/* line 9591, 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: #cc903c !important;
}

/* line 9597, 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 9603, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-header .ai-analysis-title h4 {
  color: #f7f6f4 !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.25rem !important;
}

/* line 9610, 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 9616, 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(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.2) 100%) !important;
  color: #cc903c !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(204, 144, 60, 0.3) !important;
  box-shadow: 0 2px 4px rgba(204, 144, 60, 0.1) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* line 9632, 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 9636, 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 9641, 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 9648, 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(204, 144, 60, 0.3) !important;
}

/* line 9653, 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 9659, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row .ai-analysis-card .ai-analysis-content .analysis-grid .analysis-card .card-header h5 {
  color: #f7f6f4 !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 9668, 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: #cc903c !important;
  font-size: 0.9rem !important;
}

/* line 9676, 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 9682, 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 9692, 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(204, 144, 60, 0.05) !important;
  border: 1px solid rgba(204, 144, 60, 0.2) !important;
}

/* line 9701, 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: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0.25rem !important;
}

/* line 9710, 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: #f7f6f4 !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
}

/* line 9715, 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 9719, 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 9723, 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: #f7f6f4 !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 9740, 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 9746, 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 9751, 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 9757, 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 9761, 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: #cc903c !important;
}

/* line 9765, 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 9769, 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 9782, 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 9790, 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: #cc903c !important;
  font-size: 0.8rem !important;
}

/* line 9795, 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: #cc903c !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* line 9804, 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 9818, 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 9828, 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: #cc903c;
  font-size: 0.75rem;
  opacity: 0.8;
  cursor: help;
  transition: opacity 0.2s ease;
}

/* line 9835, 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 9842, app/assets/stylesheets/dashboard.scss */
[data-bs-toggle="tooltip"] {
  cursor: help;
}

/* line 9847, 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(204, 144, 60, 0.1) 0%, rgba(224, 188, 138, 0.1) 100%);
  border: 1px solid rgba(204, 144, 60, 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 9861, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 9867, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-spinner .spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(204, 144, 60, 0.3);
  border-top: 2px solid #cc903c;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* line 9877, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 9882, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text .loading-message {
  color: #f7f6f4;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}

/* line 9889, 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 9896, app/assets/stylesheets/dashboard.scss */
.inline-loading .loading-content .loading-text .loading-progress .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #cc903c 0%, #e0bc8a 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 9936, app/assets/stylesheets/dashboard.scss */
.last-updated-text {
  color: #64748b;
  font-size: 0.875rem;
  transition: all 0.3s ease;
}

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

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

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

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

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

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

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

/* line 9981, app/assets/stylesheets/dashboard.scss */
.refresh-btn.disabled,
.refresh-btn:disabled {
  background: linear-gradient(135deg, rgba(0, 180, 150, 0.35) 0%, rgba(204, 144, 60, 0.25) 100%) !important;
  border-color: rgba(204, 144, 60, 0.3) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* line 9990, 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 9997, 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 10005, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0.05) 100%);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 16px;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 15px rgba(204, 144, 60, 0.1);
}

/* line 10013, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning .fas.fa-exclamation-triangle {
  color: #cc903c;
  font-size: 1.2rem;
}

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

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

/* line 10030, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning:hover {
  border-color: rgba(204, 144, 60, 0.5);
  box-shadow: 0 6px 20px rgba(204, 144, 60, 0.15);
  transform: translateY(-1px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10038, app/assets/stylesheets/dashboard.scss */
.header-live-dot {
  margin-left: 0.3rem !important;
  margin-right: 0.15rem !important;
}

/* line 10043, 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: #cc903c !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(204, 144, 60, 0.5) !important;
}

@media (max-width: 767px) {
  /* line 10043, 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(204, 144, 60, 0.5);
  }
  50% {
    opacity: 0.6;
    box-shadow: 0 0 8px rgba(204, 144, 60, 0.8);
  }
}

/* line 10076, 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: #cc903c !important;
  background: rgba(204, 144, 60, 0.2) !important;
  border: 1px solid rgba(204, 144, 60, 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 10098, app/assets/stylesheets/dashboard.scss */
.price-header-info:hover {
  color: #f7f6f4 !important;
  background: rgba(204, 144, 60, 0.4) !important;
}

/* line 10105, 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: #cc903c !important;
}

/* line 10115, 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 10126, 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 10134, 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 10146, 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 10154, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-8 {
    flex: 1;
    min-width: 0;
  }
  /* line 10159, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4 {
    flex: 0 0 auto;
    width: auto !important;
  }
  /* line 10164, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end {
    text-align: right !important;
  }
  /* line 10167, 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 10146, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center {
    gap: 0.35rem;
  }
  /* line 10178, 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 10182, 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 10189, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .dashboard-subtitle {
    display: none !important;
  }
}

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

/* line 10208, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card {
  background: rgba(17, 24, 37, 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 10214, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(204, 144, 60, 0.15);
  border-color: #cc903c;
}

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

/* line 10224, app/assets/stylesheets/dashboard.scss */
.simulations-section .simulation-card .card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 0.5rem;
}

@media (max-width: 1024px) {
  /* line 10233, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 1rem;
  }
  /* line 10237, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 1rem;
  }
  /* line 10241, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.8rem !important;
  }
  /* line 10244, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.75rem !important;
  }
  /* line 10250, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    gap: 0.5rem;
  }
  /* line 10254, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    min-width: 0;
  }
  /* line 10261, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.7rem !important;
  }
  /* line 10265, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 1rem !important;
  }
  /* line 10270, 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 10277, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 0.75rem;
  }
  /* line 10281, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-start {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 10286, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 0.9rem;
    padding-right: 0;
  }
  /* line 10291, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.7rem !important;
    margin-bottom: 0.25rem !important;
  }
  /* line 10295, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.65rem !important;
  }
  /* line 10300, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .position-relative .badge-status {
    font-size: 0.6rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 10305, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics {
    margin-bottom: 0.75rem !important;
  }
  /* line 10308, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.25rem;
  }
  /* line 10314, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    padding: 0 0.25rem;
  }
  /* line 10320, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item {
    text-align: center;
  }
  /* line 10323, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.6rem !important;
    white-space: nowrap;
  }
  /* line 10328, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 0.85rem !important;
    word-break: break-word;
  }
  /* line 10334, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-center {
    gap: 0.5rem;
  }
  /* line 10337, 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 10346, 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 10354, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-pending {
  background: rgba(255, 165, 0, 0.2);
  color: #cc903c;
  border: 1px solid rgba(255, 165, 0, 0.3);
}

/* line 10360, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-processing {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.3);
  animation: pulse 2s infinite;
}

/* line 10367, app/assets/stylesheets/dashboard.scss */
.simulations-section .badge-status.badge-completed {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 10373, 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 10381, app/assets/stylesheets/dashboard.scss */
.simulations-section .metric-item .metric-label {
  display: block;
  font-size: 0.875rem;
  color: #64748b;
  margin-bottom: 0.25rem;
}

/* line 10388, app/assets/stylesheets/dashboard.scss */
.simulations-section .metric-item .metric-value {
  display: block;
  font-size: 1.25rem;
  font-weight: 600;
  color: #f7f6f4;
}

@media (max-width: 1024px) {
  /* line 10400, 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 10408, 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 10415, 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 10425, 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 10432, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.7rem !important;
  }
  /* line 10436, 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 10441, 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 10450, 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 10459, 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 10467, app/assets/stylesheets/dashboard.scss */
  .predictions-column .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }
  /* line 10474, 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 10482, app/assets/stylesheets/dashboard.scss */
  .predictions-column .best-case-card,
.predictions-column .worst-case-card {
    display: none !important;
  }
  /* line 10488, 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 10504, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 10510, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon i {
    font-size: 1rem !important;
  }
  /* line 10514, 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 10521, 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 10527, 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 10535, app/assets/stylesheets/dashboard.scss */
  .events-column {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
  }
  /* line 10542, app/assets/stylesheets/dashboard.scss */
  .events-column .card {
    height: 100% !important;
  }
}

@media (max-width: 1024px) {
  /* line 10548, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.75rem !important;
  }
  /* line 10551, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 10554, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 10559, 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 10566, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.75rem !important;
  }
  /* line 10572, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* line 10576, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    min-width: 100% !important;
    font-size: 0.7rem !important;
  }
  /* line 10580, 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 10587, 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 10597, 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 10603, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 {
    padding: 0.08rem !important;
  }
  /* line 10607, 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 10612, 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 10619, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.55rem !important;
  }
  /* line 10623, 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 10630, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.5rem !important;
  }
  /* line 10633, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 10636, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 10640, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header p {
    font-size: 0.55rem !important;
    display: none !important;
  }
  /* line 10646, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.5rem !important;
  }
  /* line 10653, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    font-size: 0.6rem !important;
  }
  /* line 10656, 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 10662, 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 10672, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-group {
  margin-bottom: 1.5rem;
}

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

/* line 10682, 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: #f7f6f4;
  padding: 0.75rem 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 10690, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-control:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #cc903c;
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.1);
  outline: none;
}

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

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

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

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

/* line 10724, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .card {
  background: rgba(17, 24, 37, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

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

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

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

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

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

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

/* line 10770, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card {
  background: rgba(17, 24, 37, 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 10776, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .metric-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(204, 144, 60, 0.15);
  border-color: #cc903c;
}

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

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

/* line 10792, 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 10800, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card {
  background: rgba(17, 24, 37, 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 10807, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card:hover {
  border-color: rgba(204, 144, 60, 0.3);
}

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

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

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

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

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

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

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

/* line 10849, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section table thead th {
  border-bottom: 2px solid rgba(255, 255, 255, 0.08);
  color: #f7f6f4;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
}

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

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

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

/* line 10877, 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: 600;
}

/* line 10887, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section ul {
  list-style: none;
  padding-left: 0;
}

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

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

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

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

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

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

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

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

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

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

/* line 10961, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip {
  display: flex;
  align-items: stretch;
  background: rgba(17, 24, 37, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 4px 0;
  margin-bottom: 20px;
}

/* line 10970, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-item {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 14px 16px;
}

/* line 10979, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-item + .mo-item {
  border-left: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 10984, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 10995, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-value {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
}

/* line 11003, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-value.mo-value--muted {
  color: #f7f6f4;
}

/* line 11006, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-emoji {
  font-size: 15px;
  line-height: 1;
}

/* line 11011, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-sub {
  font-size: 10.5px;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 11026, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert {
  display: block;
  background: rgba(17, 24, 37, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-left: 3px solid transparent !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  color: #f7f6f4 !important;
  margin-bottom: 16px !important;
}

/* line 11036, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 3px;
  color: #f7f6f4;
}

/* line 11044, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert p {
  font-size: 13.5px;
  line-height: 1.55;
  color: #94a3b8;
  margin: 0;
}

/* line 11051, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert > .d-flex > i {
  font-size: 15px !important;
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 11057, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-danger {
  border-left-color: #ff6b6b !important;
}

/* line 11059, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-danger > .d-flex > i {
  color: #ff6b6b;
}

/* line 11062, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-warning {
  border-left-color: #cc903c !important;
}

/* line 11064, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-warning > .d-flex > i {
  color: #cc903c;
}

/* line 11067, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-info {
  border-left-color: #60a5fa !important;
}

/* line 11069, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-info > .d-flex > i {
  color: #60a5fa;
}

/* line 11073, 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 11085, 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(204, 144, 60, 0.3);
  box-shadow: 0 8px 20px rgba(204, 144, 60, 0.15);
}

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

/* line 11110, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-icon {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
  font-size: 1.5rem;
}

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

/* line 11121, 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 11130, 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: #f7f6f4;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 11139, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-time {
  font-size: 0.85rem;
  color: #64748b;
  margin-top: 0.25rem;
}

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

/* line 11151, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-icon {
  background: rgba(204, 144, 60, 0.2);
}

/* line 11155, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-value {
  color: #22c55e;
}

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

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

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

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

/* line 11184, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-icon {
  background: rgba(204, 144, 60, 0.2);
}

/* line 11188, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-value {
  color: #22c55e;
}

/* line 11195, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-cautious .mood-icon {
  background: rgba(204, 144, 60, 0.2);
}

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

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

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

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

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

/* line 11227, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-summary {
  background: rgba(204, 144, 60, 0.1);
  border-left: 4px solid #cc903c;
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 1.5rem;
}

/* line 11234, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-summary h4 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  color: #f7f6f4;
  font-weight: 700;
  font-size: 1.2rem;
}

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

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

/* line 11256, 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: #f7f6f4;
  font-weight: 700;
  font-size: 1.2rem;
}

/* line 11265, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section h4 i {
  color: #cc903c;
}

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

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

/* line 11291, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-warning {
  background: rgba(204, 144, 60, 0.12);
  border-left-color: #cc903c;
}

/* line 11295, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-warning i {
  color: #cc903c;
}

/* line 11300, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-info {
  background: rgba(224, 188, 138, 0.12);
  border-left-color: #e0bc8a;
}

/* line 11304, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card.alert-info i {
  color: #e0bc8a;
}

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

/* line 11314, 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 11321, 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 11327, 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 11334, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .market-alert-card .alert-sectors .badge {
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 11341, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link {
  color: #cc903c;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 11351, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 11360, 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 11369, 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 11377, 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 11382, 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 11388, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header h5 {
  margin: 0;
  font-weight: 700;
  color: #f7f6f4;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 11397, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header h5 i {
  color: #cc903c;
}

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

/* line 11420, 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 11426, 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%, #cc903c 50%, #84cc16 75%, #22c55e 100%);
  overflow: hidden;
}

/* line 11440, 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(17, 24, 37, 0.85);
  border-radius: 65px 65px 0 0;
}

/* line 11453, 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 11465, 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 11479, 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 11487, 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: 700;
  color: #f7f6f4;
  line-height: 1;
}

/* line 11495, 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 11504, 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 11509, 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 11515, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-fear {
  color: #dc2626;
}

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

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

/* line 11528, 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 11535, 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: #f7f6f4;
}

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

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

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

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

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

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

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

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

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

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

/* line 11566, 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 11574, 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 11579, 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 11585, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header h5 {
  margin: 0;
  font-weight: 700;
  color: #f7f6f4;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 11594, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header h5 i {
  color: #e0bc8a;
}

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

/* line 11610, 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: 700;
  display: block;
  line-height: 1;
}

/* line 11617, 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 11627, 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 11632, 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 11639, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-analysis {
  background: rgba(224, 188, 138, 0.1);
  border: 1px solid rgba(224, 188, 138, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

/* line 11645, 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: #e0bc8a;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 11712, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact {
  background: rgba(17, 24, 37, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 18px;
}

/* line 11718, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 11725, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 11737, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-pill-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

/* line 11744, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-scale {
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

/* line 11755, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-gauge-wrap {
  position: relative;
  margin: 18px auto 0;
  max-width: 240px;
}

/* line 11761, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

/* line 11768, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc-track {
  stroke: rgba(255, 255, 255, 0.07);
}

/* line 11772, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc-fill {
  transition: stroke-dasharray 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* line 11776, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc-center {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  pointer-events: none;
}

/* line 11788, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc-state {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

/* line 11795, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc-bounds {
  display: flex;
  justify-content: space-between;
  margin-top: -6px;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 600;
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

/* line 11806, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-value {
  font-size: 38px;
  font-weight: 600;
  line-height: 1;
  color: #f7f6f4;
  font-variant-numeric: tabular-nums;
}

/* line 11814, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-readout {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* line 11822, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-caption {
  font-size: 14px;
  font-weight: 400;
  color: #f7f6f4;
}

/* line 11828, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-sub {
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.4;
  color: #94a3b8;
}

/* line 11836, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-list {
  margin-top: 16px;
  padding-top: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 11842, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 11850, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-row:last-child {
  border-bottom: none;
}

/* line 11853, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

/* line 11860, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-period {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #64748b;
}

/* line 11868, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-label {
  font-size: 13.5px;
  font-weight: 600;
}

/* line 11875, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-value {
  min-width: 40px;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* line 11891, 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 11899, 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 11904, 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 11910, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact h6 {
  margin: 0;
  font-weight: 700;
  color: #f7f6f4;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 11919, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact h6 i {
  color: #e0bc8a;
}

/* line 11922, 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 11928, 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 11934, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-value-compact {
  font-size: 1.75rem;
  font-weight: 700;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 11990, 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: #f7f6f4;
  font-size: 1.25rem;
}

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

/* line 12007, 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 #e0bc8a;
}

/* line 12015, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 188, 138, 0.4);
  box-shadow: 0 8px 20px rgba(224, 188, 138, 0.2);
}

/* line 12023, 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 12030, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .topic-header h5 {
  font-weight: 700;
  margin: 0;
  color: #f7f6f4;
  font-size: 1.05rem;
  flex: 1;
}

/* line 12039, 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 12047, 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 12053, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trending-stock-card {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15) 0%, rgba(204, 144, 60, 0.05) 100%);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 12px;
  padding: 1.25rem;
  transition: all 0.3s ease;
}

/* line 12060, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .trending-stock-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(204, 144, 60, 0.1) 100%);
  border-color: rgba(204, 144, 60, 0.5);
  box-shadow: 0 8px 20px rgba(204, 144, 60, 0.25);
}

/* line 12068, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-symbol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

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

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

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

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

/* line 12112, 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 12119, 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 12124, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-up {
  border-left: 4px solid #22c55e;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 12202, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card {
  background: rgba(17, 24, 37, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 18px;
}

/* line 12208, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-value-display {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}

/* line 12215, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-current {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0;
  background: none;
}

/* line 12223, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-label {
  font-weight: 400;
  color: #64748b;
  font-size: 11px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

/* line 12231, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number {
  font-size: 34px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

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

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

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

/* line 12244, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-change {
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  padding: 3px 8px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.05);
}

/* line 12253, 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 12262, 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 12268, 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 12274, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column.outperforming {
  border-left: 4px solid #22c55e;
}

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

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

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

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

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

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

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

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

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

/* line 12342, 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: #f7f6f4;
}

/* line 12350, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal {
  background: rgba(224, 188, 138, 0.15);
  border: 1px solid rgba(224, 188, 138, 0.3);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  color: #f7f6f4;
}

/* line 12358, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal i {
  margin-right: 0.5rem;
  color: #e0bc8a;
}

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

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

/* line 12375, 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 #cc903c;
  transition: all 0.3s ease;
}

/* line 12383, 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(204, 144, 60, 0.2);
}

/* line 12390, 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 12397, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-header h5 {
  font-weight: 700;
  margin: 0;
  color: #f7f6f4;
  font-size: 1.05rem;
  flex: 1;
}

/* line 12406, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-context {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

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

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

/* line 12431, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-badge {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid rgba(224, 188, 138, 0.3);
}

/* line 12442, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-success {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(204, 144, 60, 0.4);
}

/* line 12451, 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 12460, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-warning {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(204, 144, 60, 0.4);
}

/* line 12469, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge-info {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(224, 188, 138, 0.4);
}

/* line 12478, 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 12496, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge.sentiment-positive {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  font-weight: 600;
  padding: 0.35rem 0.7rem;
  border-radius: 6px;
  border: 1px solid rgba(34, 197, 94, 0.4);
}

/* line 12506, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge.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 12515, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .badge.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 12525, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state {
  text-align: center;
  padding: 3rem 2rem;
}

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

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

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

/* line 12545, 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(204, 144, 60, 0.3);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 12px rgba(204, 144, 60, 0.6);
    transform: scale(1.1);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(204, 144, 60, 0.2);
    border-color: rgba(204, 144, 60, 0.4);
  }
  50% {
    box-shadow: 0 4px 16px rgba(204, 144, 60, 0.4);
    border-color: rgba(204, 144, 60, 0.7);
  }
}

/* line 12586, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(224, 188, 138, 0.1) 100%);
  border: 1px solid rgba(204, 144, 60, 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 12598, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

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

/* line 12614, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .analysis-text {
  color: #cc903c;
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 12620, 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(204, 144, 60, 0.2);
  color: #cc903c;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 12631, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .next-day-badge i {
  font-size: 0.65rem;
}

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

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

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

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

/* line 12716, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-icon {
  background: rgba(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 0.5);
}

/* line 12720, app/assets/stylesheets/dashboard.scss */
.processing-steps .processing-step.active .step-icon i {
  color: #cc903c;
}

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

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

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

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

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

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

/* line 12767, 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 12775, 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 12786, 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 12797, app/assets/stylesheets/dashboard.scss */
.badge-status i {
  font-size: 0.75rem;
}

/* line 12801, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-pending {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 12807, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-processing {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 12812, app/assets/stylesheets/dashboard.scss */
.badge-status.badge-processing i.fa-spin {
  animation: fa-spin 2s infinite linear;
}

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

@media (max-width: 1024px) {
  /* line 12847, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card {
    padding: 0.75rem !important;
  }
  /* line 12850, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header {
    margin-bottom: 0.4rem !important;
  }
  /* line 12853, 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 12859, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-name {
    font-size: 0.6rem !important;
    padding: 0.15rem 0.35rem !important;
  }
  /* line 12864, 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 12869, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item {
    padding: 0.35rem !important;
  }
  /* line 12872, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-label {
    font-size: 0.55rem !important;
  }
  /* line 12876, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-value {
    font-size: 0.75rem !important;
  }
  /* line 12882, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .confidence-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 12887, 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 12894, 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 12899, 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 12905, 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 12916, 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 12923, 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 12927, 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 12931, 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 12937, 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 12949, 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 12956, 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 12961, 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 12965, 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 12970, 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 12974, 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 12979, 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 12984, 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 12988, 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 12993, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.8rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 12998, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.65rem !important;
  }
  /* line 13001, 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 13005, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card p, .social-sentiment-section .sentiment-summary p {
    font-size: 0.7rem !important;
  }
  /* line 13011, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.55rem !important;
  }
  /* line 13014, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 13018, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.65rem !important;
  }
  /* line 13022, 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 13029, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.4rem !important;
  }
  /* line 13033, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.55rem !important;
  }
  /* line 13036, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 13040, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 13044, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.65rem !important;
  }
  /* line 13048, 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 13057, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.65rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 13062, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 13066, 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 13072, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 13076, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 13079, 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 13094, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section h3, .social-sentiment-section .section-title {
    font-size: 0.95rem !important;
  }
  /* line 13099, 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 13106, 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 13110, 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 13114, 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 13120, 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 13131, 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 13138, 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 13143, 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 13147, 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 13152, 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 13156, 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 13161, 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 13165, 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 13170, 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 13174, 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 13180, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.85rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 13186, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.7rem !important;
  }
  /* line 13189, 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 13193, 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 13200, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.6rem !important;
  }
  /* line 13203, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 13207, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 13211, 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 13218, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 13222, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.5rem !important;
  }
  /* line 13225, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 13229, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 13233, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.7rem !important;
  }
  /* line 13237, 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 13246, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item {
    padding: 0.5rem !important;
  }
  /* line 13249, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 13253, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 13257, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-meta {
    font-size: 0.6rem !important;
  }
  /* line 13265, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.6rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 13270, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 13274, 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 13280, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 13284, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 13287, 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 13302, app/assets/stylesheets/dashboard.scss */
.truncated-text {
  position: relative;
}

/* line 13305, 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 13315, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn {
  display: inline-block;
  color: #cc903c;
  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 13327, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 13341, 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 13355, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .read-more-trigger {
  color: #cc903c;
  font-weight: 600;
  cursor: pointer;
  font-size: inherit;
  display: inline-block;
  margin-top: 0.35rem;
}

/* line 13363, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .read-more-trigger:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 13388, 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 13398, app/assets/stylesheets/dashboard.scss */
.opportunities-section .read-more-trigger {
  color: #cc903c;
  font-weight: 600;
  cursor: pointer;
  font-size: inherit;
  display: inline-block;
  margin-top: 0.25rem;
}

/* line 13406, app/assets/stylesheets/dashboard.scss */
.opportunities-section .read-more-trigger:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 13436, app/assets/stylesheets/dashboard.scss */
.read-more-modal .modal-content {
  background: rgba(17, 24, 37, 0.85);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 12px;
  max-width: 600px;
  max-height: 80vh;
  width: 100%;
  overflow: hidden;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}

/* line 13447, app/assets/stylesheets/dashboard.scss */
.active .read-more-modal .modal-content {
  transform: translateY(0);
}

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

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

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

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

@media (max-width: 1024px) {
  /* line 13500, app/assets/stylesheets/dashboard.scss */
  .read-more-trigger {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 0.65rem !important;
    color: #cc903c !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 0.3rem !important;
  }
}

@media (max-width: 576px) {
  /* line 13514, app/assets/stylesheets/dashboard.scss */
  .read-more-modal {
    padding: 0.5rem;
  }
  /* line 13517, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-content {
    max-height: 90vh;
    border-radius: 8px;
  }
  /* line 13522, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header {
    padding: 0.75rem;
  }
  /* line 13525, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header h5 {
    font-size: 0.85rem;
  }
  /* line 13530, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body {
    padding: 0.75rem;
  }
  /* line 13533, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body p {
    font-size: 0.8rem;
  }
  /* line 13539, app/assets/stylesheets/dashboard.scss */
  .read-more-trigger {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 0.6rem !important;
    color: #cc903c !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 0.25rem !important;
  }
}

/* line 13554, 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 13564, 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 13578, app/assets/stylesheets/dashboard.scss */
.db-bubble:hover {
  transform: translateY(-2px);
}

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

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

/* line 13585, 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(17, 24, 37, 0.85);
}

/* line 13599, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-emoji {
  font-size: 1.4rem;
  line-height: 1;
}

/* line 13604, 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 13615, 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 #000615;
}

/* line 13625, app/assets/stylesheets/dashboard.scss */
.db-bubble .db-bubble-dot.dot-critical {
  background: #ff6b6b;
  animation: pulse-dot 1.5s ease-in-out infinite;
}

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

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

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

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

/* line 13653, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-icon {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 13657, app/assets/stylesheets/dashboard.scss */
.db-bubble.bubble-warning .db-bubble-icon i {
  color: #cc903c;
}

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

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

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

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

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

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

/* line 13698, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-content {
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  color: #f7f6f4;
  max-height: none !important;
}

/* line 13706, app/assets/stylesheets/dashboard.scss */
.db-modal .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1rem 1.25rem;
}

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

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

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

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

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

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

/* line 13738, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-warning {
  background: rgba(204, 144, 60, 0.1);
  border-left-color: #cc903c;
}

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

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

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

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

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

/* line 13775, 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 13781, 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, #cc903c, #ef4444);
  transition: width 0.5s ease;
}

@media (max-width: 767px) {
  /* line 13792, 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 13793, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 65px;
    gap: 0.2rem;
  }
  /* line 13796, 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 13803, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.15rem;
  }
  /* line 13804, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.55rem;
    max-width: 55px;
  }
  /* line 13805, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 8px;
    height: 8px;
    transform: translateX(21px);
  }
  /* line 13807, 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 13817, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
  }
  /* line 13823, 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 13843, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  /* line 13848, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-refresh {
    border: 1px solid rgba(204, 144, 60, 0.35) !important;
    background: rgba(204, 144, 60, 0.1) !important;
    color: #cc903c !important;
  }
  /* line 13853, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-refresh:hover {
    background: rgba(204, 144, 60, 0.2) !important;
    border-color: rgba(204, 144, 60, 0.5) !important;
  }
  /* line 13859, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-settings {
    border: 1px solid rgba(204, 144, 60, 0.35) !important;
    background: rgba(204, 144, 60, 0.1) !important;
    color: #cc903c !important;
  }
  /* line 13864, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn.bubbles-btn-settings:hover {
    background: rgba(204, 144, 60, 0.2) !important;
    border-color: rgba(204, 144, 60, 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 13880, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner {
  margin-bottom: 1rem;
}

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

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

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

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

/* line 13903, 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 13909, 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 13917, 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 13926, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header h5 i {
  font-size: 0.75rem;
  color: #cc903c;
}

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

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

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

/* line 13955, 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 13970, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .premium-lock {
  background: linear-gradient(135deg, #cc903c, #a9752c);
  color: #f7f6f4;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 13978, app/assets/stylesheets/dashboard.scss */
.market-alert-gate-mini .premium-lock i {
  margin-right: 0.3rem;
}

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

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

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

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

/* line 14011, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-warning {
  background: rgba(204, 144, 60, 0.15);
  border-left-color: #cc903c;
}

/* line 14014, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-warning .alert-icon {
  color: #cc903c;
}

/* line 14017, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-info {
  background: rgba(224, 188, 138, 0.15);
  border-left-color: #e0bc8a;
}

/* line 14020, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-info .alert-icon {
  color: #e0bc8a;
}

/* line 14023, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-bullish {
  background: rgba(34, 197, 94, 0.11);
  border-left-color: #22c55e;
}

/* line 14026, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion.alert-bullish .alert-icon {
  color: #22c55e;
}

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

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

/* line 14061, 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 14068, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-title-row strong {
  font-size: 0.8rem;
  color: #f7f6f4;
  line-height: 1.3;
}

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

/* line 14086, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-sectors-preview .badge {
  font-size: 0.6rem;
  font-weight: 600;
  padding: 0.08rem 0.3rem;
}

/* line 14093, 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 14109, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-expand-btn:hover {
  color: #f7f6f4;
  background: rgba(255, 255, 255, 0.1);
}

/* line 14114, 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 14121, 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 14129, 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 14137, 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 14145, 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 14152, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-trigger {
  margin-bottom: 0.4rem;
  font-size: 0.77rem;
}

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

/* line 14163, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0.6rem 0 0.5rem;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.84rem;
  line-height: 1.5;
  color: #f7f6f4;
}

/* line 14176, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action i {
  margin-top: 3px;
  font-size: 11px;
  flex-shrink: 0;
}

/* line 14182, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action.alert-action--bullish i {
  color: #22c55e;
}

/* line 14183, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action.alert-action--bearish i {
  color: #ff6b6b;
}

/* line 14184, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action.alert-action--neutral i {
  color: #cc903c;
}

/* line 14189, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .stock-chip {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #f7f6f4 !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* line 14196, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .stock-chip.stock-chip--more {
  color: #94a3b8 !important;
}

/* line 14201, 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 14208, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-stocks .badge {
  font-size: 0.6rem;
  font-weight: 600;
  padding: 0.1rem 0.35rem;
}

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

/* line 14222, app/assets/stylesheets/dashboard.scss */
.market-alerts-section h4 {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
  color: #f7f6f4;
  font-weight: 600;
  font-size: 1rem;
}

/* line 14231, app/assets/stylesheets/dashboard.scss */
.market-alerts-section h4 i {
  color: #cc903c;
  font-size: 0.9rem;
}

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

/* line 14243, 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 14250, 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: #f7f6f4;
}

/* line 14255, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-danger i {
  color: #ff6b6b;
}

/* line 14260, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-warning {
  background: rgba(204, 144, 60, 0.12);
  border-left-color: #cc903c;
  color: #f7f6f4;
}

/* line 14265, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-warning i {
  color: #cc903c;
}

/* line 14270, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-info {
  background: rgba(224, 188, 138, 0.12);
  border-left-color: #e0bc8a;
  color: #f7f6f4;
}

/* line 14275, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-info i {
  color: #e0bc8a;
}

/* line 14280, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-bullish {
  background: rgba(34, 197, 94, 0.11);
  border-left-color: #22c55e;
  color: #f7f6f4;
}

/* line 14285, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-bullish i {
  color: #22c55e;
}

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

/* line 14301, 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 14308, 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 14314, 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 14321, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card .alert-sectors .badge {
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 14328, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link {
  color: #cc903c;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 14338, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .read-more-link:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

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

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

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

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

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

/* line 14378, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion {
  background: rgba(17, 24, 37, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-left: 3px solid;
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}

/* line 14392, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger {
  border-left-color: #ff6b6b;
}

/* line 14394, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger .alert-icon {
  color: #ff6b6b;
}

/* line 14397, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning {
  border-left-color: #cc903c;
}

/* line 14399, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning .alert-icon {
  color: #cc903c;
}

/* line 14402, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info {
  border-left-color: #e0bc8a;
}

/* line 14404, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info .alert-icon {
  color: #e0bc8a;
}

/* line 14407, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish {
  border-left-color: #22c55e;
}

/* line 14409, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish .alert-icon {
  color: #22c55e;
}

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

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

/* line 14445, 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 14452, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-title-row strong {
  font-size: 0.85rem;
  color: #f7f6f4;
  line-height: 1.3;
}

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

/* line 14470, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.1rem 0.35rem;
}

/* line 14477, 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 14486, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion .alert-expand-btn:hover {
  color: #f7f6f4;
  background: rgba(255, 255, 255, 0.08);
}

/* line 14491, 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 14498, 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 14504, 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 14512, 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 14519, 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 14526, 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 14533, 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 14537, 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 14543, 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 14555, app/assets/stylesheets/dashboard.scss */
.mini-widgets-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 1rem;
}

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

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

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

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

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

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

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

/* line 14635, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .market-sentiment-mini {
  border-color: #cc903c;
  background: rgba(204, 144, 60, 0.05);
}

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

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

/* line 14650, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini {
  position: relative;
  background: rgba(17, 24, 37, 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 14662, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-bullish {
  border-left: 4px solid #22c55e;
  background: rgba(34, 197, 94, 0.03);
}

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

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

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

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

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

/* line 14701, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-bullish .mini-value {
  color: #22c55e;
}

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

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

/* line 14714, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-optimistic .mini-value {
  color: #22c55e;
}

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

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

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

/* line 14730, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .read-more-link-mini {
  font-size: 0.75rem;
  color: #cc903c;
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

/* line 14739, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .read-more-link-mini i {
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}

/* line 14747, 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 14753, 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%, #cc903c 50%, #84cc16 75%, #22c55e 100%);
  border-radius: 22px 22px 0 0;
  overflow: hidden;
}

/* line 14761, 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(17, 24, 37, 0.85);
  border-radius: 15px 15px 0 0;
}

/* line 14773, 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 14785, 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 14799, 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: #f7f6f4;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* line 14811, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-info-mini {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 14816, 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: 600;
  line-height: 1.1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 14871, 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 14878, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.4rem 0.6rem;
  }
  /* line 14882, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }
  /* line 14887, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14893, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 14897, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.6rem;
  }
  /* line 14901, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.7rem;
  }
  /* line 14905, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
  /* line 14908, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini i {
    font-size: 0.5rem;
  }
  /* line 14914, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.4rem;
    gap: 0.3rem;
  }
  /* line 14918, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 36px;
    height: 20px;
  }
  /* line 14924, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.5rem;
  }
  /* line 14925, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-status-mini {
    font-size: 0.6rem;
  }
  /* line 14930, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.3rem;
    gap: 0.2rem;
  }
  /* line 14934, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 14935, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-change {
    font-size: 0.6rem;
  }
}

@media (max-width: 767px) {
  /* line 14942, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.5rem 0.6rem;
    border-left-width: 3px !important;
  }
  /* line 14947, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
  }
  /* line 14952, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14958, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.9rem;
  }
  /* line 14962, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.65rem;
  }
  /* line 14966, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.75rem;
    font-weight: 700;
  }
  /* line 14971, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.6rem;
  }
  /* line 14976, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.35rem;
    gap: 0.3rem;
  }
  /* line 14980, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 34px;
    height: 18px;
  }
  /* line 14984, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini::before {
    width: 26px;
    height: 14px;
  }
  /* line 14989, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-needle {
    height: 12px;
  }
  /* line 14993, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-value-mini {
    font-size: 0.55rem;
  }
  /* line 14999, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.58rem;
  }
  /* line 15000, 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 15005, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.25rem;
    gap: 0.2rem;
  }
  /* line 15009, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 15010, 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 15021, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.5rem;
  }
  /* line 15024, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
    gap: 0.3rem;
  }
  /* line 15029, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.7rem;
  }
  /* line 15034, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.5rem;
  }
  /* line 15037, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr 1fr;
  }
  /* line 15042, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 15046, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.4rem 0.5rem;
  }
  /* line 15050, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.75rem;
  }
  /* line 15054, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.7rem;
  }
  /* line 15058, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15063, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
    font-size: 0.55rem;
  }
  /* line 15067, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.5rem;
  }
  /* line 15070, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body .alert-message {
    font-size: 0.65rem;
  }
  /* line 15076, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.3rem;
  }
  /* line 15080, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.35rem 0.5rem;
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 15085, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 15090, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.7rem;
  }
  /* line 15094, 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 15100, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15105, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.15rem;
  }
  /* line 15108, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.5rem;
    padding: 0.1rem 0.25rem;
  }
  /* line 15115, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.65rem;
  }
  /* line 15121, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 15125, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 15129, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.4rem;
    border-radius: 8px;
  }
  /* line 15133, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.35rem;
    padding-bottom: 0.25rem;
  }
  /* line 15137, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.7rem;
  }
  /* line 15140, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.65rem;
  }
  /* line 15145, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.6rem;
  }
  /* line 15152, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 1.1rem !important;
  }
  /* line 15156, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.75rem !important;
  }
  /* line 15159, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.9rem !important;
  }
  /* line 15163, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.8rem !important;
  }
  /* line 15168, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 1rem !important;
  }
  /* line 15172, 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 15175, 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 15179, 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 15188, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.35rem;
  }
  /* line 15191, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.7rem;
    gap: 0.2rem;
    margin-bottom: 0.15rem;
  }
  /* line 15196, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.6rem;
  }
  /* line 15201, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.35rem;
  }
  /* line 15205, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 15210, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 3px;
    border-radius: 6px;
  }
  /* line 15214, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.5rem 0.6rem;
  }
  /* line 15218, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.85rem;
  }
  /* line 15222, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row {
    gap: 0.4rem;
  }
  /* line 15225, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.8rem;
    line-height: 1.3;
  }
  /* line 15231, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.6rem;
    padding: 0.1rem 0.3rem;
  }
  /* line 15236, 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 15241, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn {
    padding: 0.25rem 0.4rem;
  }
  /* line 15244, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn i {
    font-size: 0.7rem;
  }
  /* line 15249, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.4rem;
  }
  /* line 15252, 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 15257, 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 15265, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.25rem;
  }
  /* line 15269, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.3rem 0.45rem;
    border-left-width: 2px;
    border-radius: 4px;
  }
  /* line 15274, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.55rem !important;
    margin-right: 0.25rem !important;
  }
  /* line 15279, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.65rem;
  }
  /* line 15283, 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 15289, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.45rem;
    padding: 0.05rem 0.15rem;
  }
  /* line 15294, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.1rem;
  }
  /* line 15297, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.45rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15304, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.6rem;
  }
  /* line 15310, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 15314, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 15317, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 15322, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
  }
  /* line 15326, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.3rem;
    padding-bottom: 0.25rem;
  }
  /* line 15330, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.8rem;
  }
  /* line 15333, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.75rem;
  }
  /* line 15338, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.7rem;
    padding: 0.15rem 0.3rem;
  }
  /* line 15345, app/assets/stylesheets/dashboard.scss */
  .alert-emoji {
    font-size: 1rem;
  }
  /* line 15351, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 0.95rem !important;
  }
  /* line 15355, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header p {
    font-size: 0.75rem !important;
  }
  /* line 15360, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.6rem !important;
    border-radius: 8px !important;
  }
  /* line 15364, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.85rem !important;
  }
  /* line 15368, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 15374, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section {
    margin-bottom: 1rem !important;
  }
  /* line 15377, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.9rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 15383, 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 15387, 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 15390, 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 15394, 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 15399, 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 15404, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 15407, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-title {
    font-size: 0.85rem !important;
  }
  /* line 15411, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-context {
    font-size: 0.75rem !important;
  }
}

/* line 15423, app/assets/stylesheets/dashboard.scss */
.logo-col, .logo-cell {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  padding: 0.5rem 0.25rem 0.5rem 0.75rem !important;
  text-align: center;
  vertical-align: middle;
}

/* line 15432, app/assets/stylesheets/dashboard.scss */
.stock-logo-col {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  max-width: 32px;
  max-height: 32px;
  border-radius: 50%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  background: #1a1f2e;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  display: block;
  margin: 0 auto;
}

@media (max-width: 1279px) {
  /* line 15451, app/assets/stylesheets/dashboard.scss */
  .logo-col, .logo-cell {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }
  /* line 15462, app/assets/stylesheets/dashboard.scss */
  .logo-cell * {
    display: none !important;
  }
}

/* line 15468, app/assets/stylesheets/dashboard.scss */
.stock-cell {
  max-width: 180px;
  min-width: 130px;
  padding-left: 0.25rem !important;
}

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

/* line 15500, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: #cc903c;
  color: #cc903c;
}

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

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

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

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

/* line 15540, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .symbol-tag {
  font-weight: 700;
  font-size: 0.85rem;
  background: linear-gradient(135deg, #cc903c, #00b4d8);
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  color: #f7f6f4;
  flex-shrink: 0;
}

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

/* line 15567, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge.asset-type-etf {
  background: rgba(224, 188, 138, 0.15);
  color: #c084fc;
  border: 1px solid rgba(224, 188, 138, 0.3);
}

/* line 15573, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .asset-type-badge.asset-type-crypto {
  background: rgba(224, 188, 138, 0.15);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.3);
}

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

/* line 15597, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-title-row .btn-stock-chart.mobile-only:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: #cc903c;
  color: #cc903c;
}

@media (max-width: 767px) {
  /* line 15581, 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 15613, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-name-row {
  display: flex;
  align-items: center;
}

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

/* line 15632, 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 15642, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .stock-actions-row .btn-stock-chart:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: #cc903c;
  color: #cc903c;
}

/* line 15651, 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 15664, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-weekend, .stock-info-compact .exchange-status.closed-holiday {
  background: rgba(204, 144, 60, 0.2);
  color: #e0bc8a;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 15670, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-hours {
  background: rgba(204, 144, 60, 0.2);
  color: #e0bc8a;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 15677, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-analyzing {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25), rgba(224, 188, 138, 0.25));
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.5);
}

/* line 15682, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-analyzing.pulse-animation {
  animation: pulse-analyzing 1.5s ease-in-out infinite;
}

/* line 15687, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.open {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

/* line 15694, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.crypto-24h {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25), rgba(204, 144, 60, 0.15));
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.4);
  border-radius: 8px;
  width: auto;
  padding: 0.1rem 0.35rem;
  gap: 0.15rem;
}

/* line 15703, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.crypto-24h i {
  font-size: 0.45rem;
}

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

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

/* line 15724, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row .symbol-tag {
  font-weight: 700;
  font-size: 0.9rem;
  background: linear-gradient(135deg, #cc903c, #00b4d8);
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  color: #f7f6f4;
}

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

/* line 15747, 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 15763, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 15767, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.2rem;
    padding-left: 0 !important;
  }
  /* line 15771, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.25rem;
  }
  /* line 15774, 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 15779, 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 15782, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.4rem !important;
  }
  /* line 15785, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 14px;
    height: 14px;
    font-size: 0.45rem;
  }
  /* line 15789, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem;
  }
  /* line 15794, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.55rem !important;
    max-width: 80px;
  }
  /* line 15801, 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 15805, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.15rem;
  }
  /* line 15806, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    font-size: 0.4rem;
  }
  /* line 15811, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.2rem;
  }
  /* line 15814, 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 15819, 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 15825, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.15rem;
  }
  /* line 15828, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.65rem !important;
  }
  /* line 15829, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.55rem !important;
  }
  /* line 15830, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.5rem !important;
  }
  /* line 15832, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15836, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.7rem !important;
  }
  /* line 15837, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.5rem !important;
  }
  /* line 15841, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.55rem !important;
  }
  /* line 15842, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.65rem !important;
  }
  /* line 15843, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.55rem !important;
  }
  /* line 15844, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15847, 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 15854, 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 15860, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 15866, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.55rem !important;
  }
  /* line 15870, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.5rem;
  }
  /* line 15874, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.6rem !important;
  }
  /* line 15877, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.6rem !important;
  }
  /* line 15881, 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 15885, 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 15891, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.4rem !important;
  }
  /* line 15894, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.4rem 0.6rem !important;
  }
  /* line 15897, 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 15898, 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 15899, 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 15904, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15908, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.5rem !important;
  }
  /* line 15909, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.65rem !important;
  }
  /* line 15910, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.5rem !important;
  }
  /* line 15913, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15917, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.5rem !important;
  }
  /* line 15918, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.7rem !important;
  }
  /* line 15919, 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 15922, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.4rem !important;
  }
  /* line 15925, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.5rem !important;
  }
  /* line 15928, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 15929, 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 15933, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.5rem !important;
  }
  /* line 15936, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.4rem;
  }
  /* line 15938, 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 15939, 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 15943, 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 15944, 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 15947, 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 15952, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.5rem !important;
  }
  /* line 15955, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 15955, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 15956, 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 15957, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 15957, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 15961, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 15964, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 15964, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 15965, 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 15966, 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 15973, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.4rem !important;
  }
  /* line 15977, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.15rem;
    padding-left: 0 !important;
  }
  /* line 15981, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.2rem;
  }
  /* line 15984, 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 15989, 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 15992, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.35rem !important;
  }
  /* line 15995, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 12px;
    height: 12px;
    font-size: 0.4rem;
  }
  /* line 15999, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem;
  }
  /* line 16004, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.5rem !important;
    max-width: 70px;
  }
  /* line 16011, 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 16015, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem;
  }
  /* line 16016, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none;
  }
  /* line 16021, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.15rem;
  }
  /* line 16024, 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 16029, 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 16035, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.1rem;
  }
  /* line 16038, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.55rem !important;
  }
  /* line 16039, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 16040, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 16042, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 16046, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.6rem !important;
  }
  /* line 16047, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 16051, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.5rem !important;
  }
  /* line 16052, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.55rem !important;
  }
  /* line 16053, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.5rem !important;
  }
  /* line 16054, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 16057, 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 16064, 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 16070, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 16076, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.5rem !important;
  }
  /* line 16080, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
  /* line 16084, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 16087, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.5rem !important;
  }
  /* line 16091, 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 16095, 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 16101, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.3rem !important;
  }
  /* line 16104, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.3rem 0.5rem !important;
  }
  /* line 16107, 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 16108, 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 16109, 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 16114, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 16118, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.45rem !important;
  }
  /* line 16119, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.55rem !important;
  }
  /* line 16120, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.45rem !important;
  }
  /* line 16123, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 16127, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.45rem !important;
  }
  /* line 16128, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.6rem !important;
  }
  /* line 16129, 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 16132, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.35rem !important;
  }
  /* line 16135, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 16138, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 16139, 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 16143, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 16146, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.35rem;
  }
  /* line 16148, 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 16149, 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 16153, 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 16154, 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 16157, 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 16162, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 16165, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 16165, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 16166, 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 16167, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 16167, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 16171, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 16174, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 16174, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 16175, 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 16176, 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 16182, app/assets/stylesheets/dashboard.scss */
.signal-cell {
  overflow: visible;
}

/* line 16184, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 4px 10px 4px 4px;
}

/* line 16192, 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 16200, 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 16209, 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 16216, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .today-signal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(10, 15, 30, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.18);
  cursor: help;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.50rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

/* line 16231, 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.3);
  color: rgba(255, 255, 255, 0.8);
  transform: scale(1.15);
}

/* line 16239, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .refresh-needed {
  color: #cc903c;
  font-size: 0.7rem;
  animation: pulse 2s infinite;
}

/* line 16246, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .signal-sub-row {
  position: absolute;
  top: -5px;
  right: -8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  z-index: 2;
}

/* line 16258, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .ai-disagreement-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(10, 15, 30, 0.85);
  border: 1px solid rgba(255, 152, 0, 0.35);
  cursor: help;
  color: rgba(255, 152, 0, 0.7);
  font-size: 0.50rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

/* line 16273, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .ai-disagreement-warning:hover {
  background: rgba(255, 152, 0, 0.2);
  border-color: rgba(255, 152, 0, 0.5);
  color: rgba(255, 152, 0, 0.95);
  transform: scale(1.15);
}

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

/* line 16291, 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 16301, 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 16306, 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 16311, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge.hold {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 16316, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner .today-tooltip-badge.wait {
  background: rgba(108, 117, 125, 0.2);
  color: #64748b;
  border-color: rgba(108, 117, 125, 0.4);
}

/* line 16323, 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 16331, 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 16346, 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 16353, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

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

/* line 16363, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header .disagreement-title {
  color: #cc903c;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 16372, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

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

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

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

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

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

/* line 16414, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value.hold, .reasoning-block.disagreement .disagreement-item .disagreement-value.wait {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 16419, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-item .disagreement-value .conf {
  font-size: 0.7rem;
  opacity: 0.8;
  margin-left: 2px;
}

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

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

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

/* line 16478, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-change.positive {
  color: #22c55e;
}

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

/* line 16482, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-eod-ref {
  font-size: 0.55rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

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

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

/* line 16497, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge {
  color: rgba(224, 188, 138, 0.7);
}

/* line 16499, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge i {
  color: rgba(224, 188, 138, 0.7);
}

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

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

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

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

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

/* line 16541, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col .value-main {
  font-weight: 600;
  font-size: 0.85rem;
  color: #f7f6f4;
  white-space: nowrap;
}

/* line 16547, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.value-col .value-main .warning-icon {
  color: #cc903c;
  font-size: 0.6rem;
  margin-left: 0.2rem;
}

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

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

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

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

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

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

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

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

/* line 16599, 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 16612, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details:hover, .details-cell .btn-details-ai:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #f7f6f4;
}

/* line 16617, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details[aria-expanded="true"], .details-cell .btn-details-ai[aria-expanded="true"] {
  background: #cc903c;
  color: #f7f6f4;
}

/* line 16621, 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 16626, 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 16633, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(224, 188, 138, 0.15));
  border: 1px solid rgba(204, 144, 60, 0.4);
  border-radius: 6px;
  width: auto;
  height: auto;
  padding: 0.3rem 0.5rem;
  gap: 0.3rem;
  white-space: nowrap;
}

/* line 16643, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .fa-robot {
  color: #cc903c;
  font-size: 0.75rem;
}

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

/* line 16659, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25), rgba(224, 188, 138, 0.25));
  border-color: rgba(204, 144, 60, 0.6);
}

/* line 16664, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai[aria-expanded="true"] {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  border-color: transparent;
}

/* line 16668, 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: #f7f6f4;
}

@media (max-width: 1024px) {
  /* line 16633, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem;
  }
  /* line 16677, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
}

/* line 16684, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart {
  display: none;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(224, 188, 138, 0.15));
  border: 1px solid rgba(204, 144, 60, 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 16700, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart .fa-chart-line {
  color: #e0bc8a;
  font-size: 0.75rem;
}

/* line 16705, 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 16711, 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 16717, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25), rgba(224, 188, 138, 0.25));
  border-color: rgba(204, 144, 60, 0.6);
}

/* line 16722, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  border-color: transparent;
}

/* line 16726, 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: #f7f6f4;
}

/* line 16730, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] .chevron-icon {
  transform: rotate(180deg);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 1279px) {
  /* line 16840, app/assets/stylesheets/dashboard.scss */
  .stock-row.market-open .stock-cell {
    border-left: 4px solid #cc903c;
  }
  /* line 16843, app/assets/stylesheets/dashboard.scss */
  .stock-row.market-closed .stock-cell {
    border-left: 4px solid rgba(100, 116, 139, 0.5);
  }
  /* line 16846, app/assets/stylesheets/dashboard.scss */
  .stock-row:first-child .stock-cell {
    border-top-left-radius: calc($border-radius - 1px);
  }
  /* line 16849, app/assets/stylesheets/dashboard.scss */
  .stock-row:last-child .stock-cell {
    border-bottom-left-radius: calc($border-radius - 1px);
  }
}

/* line 16855, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row {
  background: rgba(224, 188, 138, 0.03);
}

/* line 16858, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-open .logo-cell {
  border-left: 4px solid rgba(224, 188, 138, 0.6);
}

/* line 16862, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-closed .logo-cell {
  border-left: 4px solid rgba(224, 188, 138, 0.3);
}

@media (max-width: 1279px) {
  /* line 16867, app/assets/stylesheets/dashboard.scss */
  .stock-row.watchlist-row.market-open .stock-cell {
    border-left: 4px solid rgba(224, 188, 138, 0.6);
  }
  /* line 16870, app/assets/stylesheets/dashboard.scss */
  .stock-row.watchlist-row.market-closed .stock-cell {
    border-left: 4px solid rgba(224, 188, 138, 0.3);
  }
}

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

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

/* line 16892, app/assets/stylesheets/dashboard.scss */
.section-separator::before, .section-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(224, 188, 138, 0.3), transparent);
}

/* line 16900, app/assets/stylesheets/dashboard.scss */
.section-separator::before {
  background: linear-gradient(90deg, transparent, rgba(224, 188, 138, 0.3));
}

/* line 16904, app/assets/stylesheets/dashboard.scss */
.section-separator::after {
  background: linear-gradient(90deg, rgba(224, 188, 138, 0.3), transparent);
}

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

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

/* line 16931, 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: #e0bc8a;
  background: rgba(224, 188, 138, 0.15);
  border: 1px solid rgba(224, 188, 138, 0.3);
  border-radius: 3px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* line 16947, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

/* line 16952, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-since {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
  width: 100%;
}

/* line 16961, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-since i {
  color: #e0bc8a;
  font-size: 0.6rem;
}

/* line 16964, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl {
  display: flex;
  align-items: baseline;
  gap: 0;
  font-weight: 700;
  justify-content: center;
}

/* line 16971, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl.positive {
  color: #22c55e;
}

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

/* line 16974, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-amount {
  font-size: 0.85rem;
  padding-right: 0.5rem;
}

/* line 16978, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-pct {
  font-size: 0.8rem;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding-left: 0.5rem;
}

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

/* line 16993, 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: #000615;
  background: linear-gradient(135deg, #e0bc8a, #a97832);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 17009, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-buy:hover {
  background: linear-gradient(135deg, #e0bc8a, #e0bc8a);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(224, 188, 138, 0.4);
}

/* line 17017, app/assets/stylesheets/dashboard.scss */
.search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 17023, 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 17035, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-add {
  background: rgba(224, 188, 138, 0.15) !important;
  border: 1px solid rgba(224, 188, 138, 0.35) !important;
  color: #e0bc8a !important;
  border-radius: 8px !important;
}

/* line 17041, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-add:hover {
  background: rgba(224, 188, 138, 0.28) !important;
  color: #e0bc8a !important;
}

/* line 17047, app/assets/stylesheets/dashboard.scss */
.btn-add-owned {
  background: rgba(204, 144, 60, 0.15) !important;
  border: 1px solid rgba(204, 144, 60, 0.35) !important;
  color: #cc903c !important;
  border-radius: 8px !important;
}

/* line 17053, app/assets/stylesheets/dashboard.scss */
.btn-add-owned:hover {
  background: rgba(204, 144, 60, 0.28) !important;
}

/* line 17060, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-row {
  background: rgba(224, 188, 138, 0.04);
}

/* line 17064, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-badge {
  color: #a97832;
  background: rgba(224, 188, 138, 0.1);
  border-color: rgba(224, 188, 138, 0.25);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 17148, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 17151, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning:hover {
  background: rgba(224, 188, 138, 0.35);
  transform: scale(1.1);
}

/* line 17154, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others {
  background: rgba(204, 144, 60, 0.2);
  color: #e0bc8a;
}

/* line 17157, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others:hover {
  background: rgba(204, 144, 60, 0.35);
  transform: scale(1.1);
}

/* line 17162, app/assets/stylesheets/dashboard.scss */
.events-cell .events-display {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 17168, 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 17179, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip i {
  font-size: 0.6rem;
}

/* line 17183, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip .event-label {
  white-space: nowrap;
}

/* line 17187, 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 17192, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.dividend:hover {
  background: rgba(255, 215, 0, 0.25);
}

/* line 17197, 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 17202, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.earnings:hover {
  background: rgba(0, 180, 216, 0.25);
}

/* line 17207, 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 17212, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.crisis:hover {
  background: rgba(255, 107, 107, 0.25);
}

@media (max-width: 1024px) {
  /* line 17219, app/assets/stylesheets/dashboard.scss */
  .events-cell .event-chip .event-label {
    display: none;
  }
}

/* line 17227, 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 17236, 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 17243, 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 17252, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack .fundamentals-column {
  flex: none;
  max-height: 250px;
}

/* line 17257, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack.has-disagreement .fundamentals-column {
  max-height: 352px;
}

/* line 17263, 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 17270, 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 17280, 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: 700;
  padding: 0.35rem 0.9rem;
  border-radius: 8px;
  text-align: center;
  letter-spacing: 0.3px;
}

/* line 17289, 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 17299, 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 17301, 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(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.18);
  color: rgba(204, 144, 60, 0.8);
}

/* line 17306, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .confidence-chip.confidence-medium {
  background: rgba(204, 144, 60, 0.07);
  border: 1px solid rgba(204, 144, 60, 0.18);
  color: rgba(204, 144, 60, 0.75);
}

/* line 17311, 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 17318, 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 17325, 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: 600;
}

/* line 17331, 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 17337, 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 17342, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .signal-badge-vertical .bought-inline .bought-pct.positive {
  color: #22c55e;
}

/* line 17343, 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 17348, 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 17353, 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 17364, 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 17373, 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: #f7f6f4;
  line-height: 1.2;
}

/* line 17380, 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 17388, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item .level-pct.positive {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.15);
}

/* line 17392, 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 17398, 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 #cc903c;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0.03) 100%);
  border-color: rgba(204, 144, 60, 0.25);
}

/* line 17402, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.target .level-label {
  color: #cc903c;
}

/* line 17403, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .trading-column .trading-levels-stack .level-item.target .level-value {
  color: #cc903c;
}

/* line 17404, 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(204, 144, 60, 0.15) 0%, rgba(204, 144, 60, 0.06) 100%);
}

/* line 17407, 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 17411, 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 17412, 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 17413, 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 17416, 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 17419, 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 17422, 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 #e0bc8a;
  background: rgba(167, 139, 250, 0.04);
}

/* line 17425, 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 17432, 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 17447, 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 17458, 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 17469, 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 17473, 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 17485, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-title i {
  font-size: 0.60rem;
  color: #cc903c;
}

/* line 17492, 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 17501, 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 17510, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics::-webkit-scrollbar {
  display: none;
}

/* line 17514, 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 17525, 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 17537, 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 17539, 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 17546, 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 17555, 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 17569, 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 17572, 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: #cc903c;
}

/* line 17575, 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: #22c55e;
}

/* line 17578, 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 17581, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
  padding-top: 0.2rem;
}

/* line 17583, 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 17593, 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 17599, 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 17607, 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 17613, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-positive {
  color: #22c55e !important;
}

/* line 17614, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-negative {
  color: #ff6b6b !important;
}

/* line 17617, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo {
  align-items: flex-start !important;
}

/* line 17620, 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 17622, 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 17628, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo .fund-range .fr-high {
  color: #22c55e;
  font-size: 0.72rem;
  font-weight: 600;
}

/* line 17629, 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 17634, 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 17644, 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 17649, 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 17659, 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 17664, 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 17672, 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 17675, 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 17679, 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 17690, 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 17695, 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(204, 144, 60, 0.3);
  border-color: rgba(204, 144, 60, 0.5);
  color: #e0bc8a;
}

/* line 17704, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
  height: 80px;
  position: relative;
}

/* line 17708, 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 17714, 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 17721, 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: 600;
}

/* line 17727, 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 17731, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.positive {
  color: #22c55e;
}

/* line 17732, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.negative {
  color: #ef4444;
}

/* line 17738, 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 17745, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .content-column .events-detail-section {
  margin-bottom: 0;
}

/* line 17749, 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 17757, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    gap: 0.6rem;
  }
  /* line 17760, 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 17766, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 17770, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: 0 0 190px;
  }
  /* line 17773, 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 17780, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17783, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
    height: 90px;
  }
  /* line 17787, 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 17796, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 17800, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column {
    flex: none;
    width: 100%;
  }
  /* line 17804, 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 17811, 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 17817, 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 17825, 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 17831, 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 17833, 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 17834, 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 17835, 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 17840, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: none;
    width: 100%;
  }
  /* line 17846, 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 17851, 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 17857, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-divider {
    display: none;
  }
  /* line 17859, 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 17865, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-label {
    font-size: 0.62rem;
  }
  /* line 17866, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-value {
    font-size: 0.74rem;
  }
  /* line 17868, 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 17875, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
    grid-column: 1 / -1;
  }
  /* line 17876, 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 17882, 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 17888, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17891, 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 17899, 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 17906, 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 17914, 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 17923, 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 17930, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip .stat-value {
  font-weight: 600;
  font-size: 0.85rem;
  color: #f7f6f4;
}

/* line 17936, 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 17939, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip.warning .stat-value {
  color: #ff6b6b;
}

/* line 17947, 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 17956, 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 17967, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-title i {
  font-size: 0.7rem;
}

/* line 17970, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 17976, 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 17984, 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 17993, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
  font-size: 0.65rem;
}

/* line 17996, 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 18003, 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 18007, 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 18011, 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 18015, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.warning .event-icon-wrap {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 18019, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item.others .event-icon-wrap {
  background: rgba(204, 144, 60, 0.2);
  color: #e0bc8a;
}

/* line 18025, 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(204, 144, 60, 0.2);
  border-radius: 10px;
  border-left: 3px solid #cc903c;
}

/* line 18033, 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: #cc903c;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 18044, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .section-label i {
  font-size: 0.7rem;
}

/* line 18049, 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 18055, 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 18070, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.buy {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
  color: #22c55e;
}

/* line 18076, 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 18082, 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 18088, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.wait {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 18094, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-signal-badge.trim {
  background: rgba(224, 188, 138, 0.15);
  border-color: rgba(224, 188, 138, 0.4);
  color: #e0bc8a;
}

/* line 18101, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .personalized-signal-content .personalized-reason-text {
  flex: 1;
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  min-width: 200px;
}

/* line 18113, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section {
  margin-bottom: 1rem;
}

/* line 18116, 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 18123, 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: #cc903c;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 18135, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-text {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

/* line 18142, 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 18146, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 18154, 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 18161, 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 18172, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 18177, 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 18184, 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 18193, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip i {
  font-size: 0.65rem;
}

/* line 18195, 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(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.4);
  color: #22c55e;
}

/* line 18200, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip.confidence-medium {
  background: rgba(204, 144, 60, 0.07);
  border: 1px solid rgba(204, 144, 60, 0.18);
  color: rgba(204, 144, 60, 0.75);
}

/* line 18205, 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 18213, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .key-levels-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 18219, 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 18227, 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(204, 144, 60, 0.15) 0%, rgba(224, 188, 138, 0.12) 100%);
  border: 1px solid rgba(204, 144, 60, 0.35);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(204, 144, 60, 0.15);
}

/* line 18238, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-label {
  color: #e0bc8a;
  font-weight: 600;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 18246, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .j7-preview .j7-price {
  font-weight: 700;
  font-size: 0.9rem;
  color: #f7f6f4;
}

/* line 18252, 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 18258, 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 18262, 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 18271, 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 18280, 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 18286, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-value {
  font-weight: 700;
  font-size: 0.9rem;
  color: #f7f6f4;
}

/* line 18292, 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 18298, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.positive {
  color: #22c55e;
  background: rgba(204, 144, 60, 0.15);
}

/* line 18302, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.negative {
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.15);
}

/* line 18308, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.target {
  background: rgba(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 18311, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.target .level-value {
  color: #22c55e;
}

/* line 18314, 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 18317, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.stop .level-value {
  color: #ff6b6b;
}

/* line 18320, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.bought {
  background: rgba(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 18323, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.bought .level-value {
  color: #e0bc8a;
}

/* line 18326, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.growth {
  background: rgba(224, 188, 138, 0.15);
  border: 1px solid rgba(224, 188, 138, 0.3);
}

/* line 18329, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.growth .level-value {
  color: #e0bc8a;
}

/* line 18333, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent {
  padding: 0.4rem 0.75rem;
}

/* line 18335, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-value {
  font-size: 0.85rem;
}

/* line 18336, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-pct {
  font-size: 0.7rem;
}

/* line 18340, 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 18344, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-label {
  font-size: 0.65rem;
}

/* line 18345, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-value {
  font-size: 0.8rem;
  opacity: 0.85;
}

/* line 18346, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-pct {
  font-size: 0.7rem;
}

/* line 18352, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .trading-levels .levels-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 18360, 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 18370, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 18375, 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 18382, 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 18391, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip i {
  font-size: 0.7rem;
}

/* line 18395, 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(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.18);
  color: rgba(204, 144, 60, 0.8);
}

/* line 18401, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip.confidence-medium {
  background: rgba(204, 144, 60, 0.07);
  border: 1px solid rgba(204, 144, 60, 0.18);
  color: rgba(204, 144, 60, 0.75);
}

/* line 18407, 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 18415, 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(204, 144, 60, 0.18) 0%, rgba(224, 188, 138, 0.14) 100%);
  border: 2px solid rgba(204, 144, 60, 0.45);
  padding: 0.5rem 0.9rem;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(204, 144, 60, 0.2);
}

/* line 18425, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #e0bc8a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 18433, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .j7-preview .j7-price {
  font-weight: 700;
  font-size: 1rem;
  color: #f7f6f4;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* line 18440, 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 18446, 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 18451, 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 18461, 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 18466, 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 18477, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .section-title i {
  color: #cc903c;
}

/* line 18482, 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 18482, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 18492, 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 18498, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block .block-icon {
  font-size: 0.85rem;
  margin-right: 0.4rem;
}

/* line 18503, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block .block-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.7);
}

/* line 18511, 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 18518, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 18520, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 18523, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company {
  border-left-color: #e0bc8a;
}

/* line 18525, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company .block-title {
  color: #e0bc8a;
}

/* line 18528, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical {
  border-left-color: #e0bc8a;
}

/* line 18530, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical .block-title {
  color: #e0bc8a;
}

/* line 18533, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.catalysts {
  border-left-color: #22c55e;
}

/* line 18535, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.catalysts .block-title {
  color: #22c55e;
}

@media (min-width: 1025px) and (max-width: 1279px) {
  /* line 17227, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 18545, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.65rem;
    margin-bottom: 0.5rem;
  }
  /* line 18550, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.5rem;
  }
  /* line 18554, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.5rem;
  }
  /* line 18557, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.8rem;
  }
  /* line 18558, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.55rem;
  }
  /* line 18559, 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 17227, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 18568, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.6rem;
    margin-bottom: 0.4rem;
  }
  /* line 18573, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.4rem;
  }
  /* line 18577, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.4rem;
  }
  /* line 18580, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.7rem;
  }
  /* line 18581, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 18582, 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 17227, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 18591, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.55rem;
    margin-bottom: 0.35rem;
  }
  /* line 18596, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  /* line 18601, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.35rem;
  }
  /* line 18604, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.65rem;
    margin-right: 0.25rem;
  }
  /* line 18605, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 18606, 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 18612, app/assets/stylesheets/dashboard.scss */
.price-display-compact {
  text-align: center;
}

/* line 18615, 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 18624, 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 18632, 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 18645, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .symbol-row .symbol-tag {
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 18651, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    max-width: 100px;
    font-size: 0.65rem;
  }
  /* line 18658, 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 18663, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
    display: none;
  }
  /* line 18669, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.75rem;
  }
  /* line 18673, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.65rem;
  }
  /* line 18677, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    display: none;
  }
  /* line 18682, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.75rem;
  }
  /* line 18685, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row {
    gap: 0.5rem;
  }
  /* line 18688, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip {
    padding: 0.3rem 0.6rem;
  }
  /* line 18691, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-label {
    font-size: 0.6rem;
  }
  /* line 18695, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-value {
    font-size: 0.75rem;
  }
  /* line 18701, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .trading-levels .levels-row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  /* line 18711, app/assets/stylesheets/dashboard.scss */
  .stocks-table th:nth-child(5),
.stocks-table td:nth-child(5),
.stocks-table th:nth-child(6),
.stocks-table td:nth-child(6) {
    display: none !important;
  }
  /* line 18719, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    display: none;
  }
  /* line 18724, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.6rem;
  }
  /* line 18728, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value .value-main {
    font-size: 0.75rem;
  }
  /* line 18733, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-pct {
    font-size: 0.65rem;
  }
  /* line 18734, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-val {
    font-size: 0.55rem;
  }
}

/* line 18744, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-header {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 18749, 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(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 8px;
}

/* line 18758, 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 18765, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .risk-score-badge .score {
  font-size: 1.25rem;
  font-weight: 700;
  color: #cc903c;
}

/* line 18772, 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 18772, app/assets/stylesheets/dashboard.scss */
  .investor-profile-form .profile-fields {
    grid-template-columns: 1fr;
  }
}

/* line 18783, 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 18790, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field label i {
  margin-right: 0.5rem;
  color: #cc903c;
  width: 16px;
  text-align: center;
}

/* line 18797, 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 18805, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field.optional label i {
  color: rgba(255, 255, 255, 0.4);
}

/* line 18810, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 18816, 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: 600;
  color: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
}

/* line 18828, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 18833, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.selected {
  background: rgba(204, 144, 60, 0.15);
  border-color: #cc903c;
  color: #cc903c;
}

/* line 18839, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.08), rgba(224, 188, 138, 0.08));
  border-color: rgba(204, 144, 60, 0.3);
  color: rgba(224, 188, 138, 0.9);
}

/* line 18844, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option i {
  margin-right: 0.4rem;
}

/* line 18846, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option:hover {
  border-color: rgba(204, 144, 60, 0.6);
  box-shadow: 0 0 12px rgba(204, 144, 60, 0.2);
}

/* line 18851, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option.selected {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2), rgba(224, 188, 138, 0.15));
  border-color: #cc903c;
  color: #e0bc8a;
  box-shadow: 0 0 16px rgba(204, 144, 60, 0.3), 0 0 32px rgba(204, 144, 60, 0.1);
}

/* line 18866, app/assets/stylesheets/dashboard.scss */
.personalized-col {
  min-width: 100px;
  text-align: center;
}

/* line 18872, app/assets/stylesheets/dashboard.scss */
.personalized-signal-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 18878, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

/* line 18884, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column.empty {
  opacity: 0.6;
}

/* line 18888, 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 18896, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column .signal-placeholder i {
  margin-right: 0.25rem;
}

/* line 18903, 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(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 18919, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge:hover {
  transform: scale(1.02);
}

/* line 18923, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.buy {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
  color: #22c55e;
}

/* line 18929, 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 18935, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.hold {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 18941, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.wait {
  background: rgba(107, 114, 128, 0.15);
  border-color: rgba(107, 114, 128, 0.4);
  color: #6b7280;
}

/* line 18947, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge.trim {
  background: rgba(224, 188, 138, 0.15);
  border-color: rgba(224, 188, 138, 0.4);
  color: #e0bc8a;
}

/* line 18956, app/assets/stylesheets/dashboard.scss */
.personalized-reason {
  display: none;
}

/* line 18961, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* line 18975, 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(204, 144, 60, 0.3);
  border-radius: 10px;
  color: #e2e8f0;
  font-size: 0.75rem;
  font-weight: 600;
  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(204, 144, 60, 0.15);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
}

/* line 19001, 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 19013, app/assets/stylesheets/dashboard.scss */
.has-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 19019, 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 19028, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}

/* line 19035, app/assets/stylesheets/dashboard.scss */
.personalized-tooltip {
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 19043, app/assets/stylesheets/dashboard.scss */
.tooltip {
  z-index: 9999 !important;
}

/* line 19046, 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(204, 144, 60, 0.3) !important;
  border-radius: 10px !important;
  color: #e2e8f0 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !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(204, 144, 60, 0.15) !important;
}

/* line 19061, 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 19066, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19070, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19074, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19078, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19084, app/assets/stylesheets/dashboard.scss */
.personalized-signal-container {
  margin-top: 0.35rem;
}

/* line 19088, 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 19101, app/assets/stylesheets/dashboard.scss */
.personalized-signal.buy {
  background: rgba(34, 197, 94, 0.1);
  border-color: rgba(34, 197, 94, 0.4);
  color: #22c55e;
}

/* line 19107, 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 19113, 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 19119, app/assets/stylesheets/dashboard.scss */
.personalized-signal.wait {
  background: rgba(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 19125, app/assets/stylesheets/dashboard.scss */
.personalized-signal.trim {
  background: rgba(224, 188, 138, 0.1);
  border-color: rgba(224, 188, 138, 0.4);
  color: #e0bc8a;
}

/* line 19131, 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 19137, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.positive {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 19142, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.negative {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 19150, 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 19165, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
  text-decoration: none;
}

/* line 19172, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge i {
  font-size: 0.7rem;
}

/* line 19178, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon {
  text-decoration: none;
  color: inherit;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

/* line 19184, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon:hover {
  opacity: 0.8;
  text-decoration: none;
}

/* line 19191, 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: 600;
  background: rgba(148, 163, 184, 0.1);
  color: #94a3b8;
  opacity: 0.7;
}

/* line 19203, 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 19217, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-column .personalized-reason {
    display: none;
  }
  /* line 19222, 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 19232, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell::before {
    display: none !important;
  }
  /* line 19237, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.2rem 0.4rem;
    font-size: 0.6rem;
  }
  /* line 19242, app/assets/stylesheets/dashboard.scss */
  .personalized-reason {
    font-size: 0.55rem;
  }
}

@media (max-width: 767px) {
  /* line 19250, 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 19260, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.25rem 0.45rem;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  /* line 19268, app/assets/stylesheets/dashboard.scss */
  .personalized-col {
    display: none;
  }
  /* line 19273, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell {
    display: block !important;
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: rgba(204, 144, 60, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(204, 144, 60, 0.15);
  }
  /* line 19282, 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 19293, 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 19300, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-signal-badge {
    padding: 0.3rem 0.5rem;
    font-size: 0.7rem;
  }
  /* line 19305, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-reason {
    font-size: 0.65rem;
    max-width: 200px;
  }
  /* line 19312, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-container {
    display: none;
  }
}

/* line 19324, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header {
  background: rgba(17, 24, 37, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 19328, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header .mode-indicator {
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.75rem;
}

/* line 19334, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header h5 {
  font-size: 1.1rem;
  font-weight: 600;
}

/* line 19342, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

/* line 19347, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card {
  background: rgba(27, 35, 51, 0.8);
  border-radius: 10px;
  padding: 1rem;
  height: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 19354, 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 19359, 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 19365, 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 19373, 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: 600;
}

/* line 19380, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-label .small {
  font-size: 0.6rem;
  opacity: 0.8;
}

/* line 19390, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .card {
  border-radius: 10px;
}

/* line 19394, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .events-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 19400, 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 19409, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini:hover {
  transform: scale(1.02);
}

/* line 19413, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini i {
  font-size: 0.65rem;
}

@media (max-width: 1200px) {
  /* line 19423, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.75rem;
  }
  /* line 19426, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1.2rem;
  }
  /* line 19430, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.65rem;
  }
}

@media (max-width: 768px) {
  /* line 19439, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header {
    padding: 0.5rem 1rem !important;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 19444, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header h5 {
    font-size: 0.95rem;
  }
  /* line 19448, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header .mode-indicator {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.65rem;
  }
  /* line 19455, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.6rem;
  }
  /* line 19458, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 1rem;
  }
  /* line 19462, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1rem;
  }
  /* line 19466, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.6rem;
  }
  /* line 19473, 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 19484, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .col-6 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  /* line 19489, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.5rem;
  }
  /* line 19492, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }
  /* line 19497, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 0.9rem;
  }
  /* line 19501, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.55rem;
  }
}

/* line 19511, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .card {
  border-radius: 10px;
}

/* line 19515, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* line 19518, 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 19523, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item .h5 {
  font-weight: 700;
  font-size: 1.25rem;
}

@media (max-width: 768px) {
  /* line 19531, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 19538, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item {
    padding: 0.5rem !important;
  }
  /* line 19541, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 0.9rem;
  }
  /* line 19545, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .small {
    font-size: 0.6rem;
  }
}

/* line 19558, 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(204, 144, 60, 0.25);
}

/* line 19568, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn i {
  font-size: 1rem;
}

/* line 19572, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn.btn-primary {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  border: none;
}

/* line 19576, 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(204, 144, 60, 0.35);
}

/* line 19582, 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 19593, 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 19606, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header > .d-flex {
  width: 100%;
  height: 100%;
  align-items: center;
}

/* line 19613, 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.6rem;
  overflow: hidden;
}

/* line 19623, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 19630, 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: #f7f6f4;
}

/* line 19640, 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 19649, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn {
  flex-shrink: 0;
}

/* line 19654, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 19665, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f7f6f4;
}

/* line 19670, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost i {
  font-size: 0.85rem;
}

/* line 19675, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-sm {
  font-size: 0.8rem;
  padding: 0.4rem 0.75rem;
  white-space: nowrap;
}

/* line 19681, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge {
  font-size: 0.65rem !important;
  flex-shrink: 0;
}

/* line 19686, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge-status {
  padding: 0.25rem 0.5rem;
}

/* line 19691, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .date-info {
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* line 19697, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown {
  position: relative;
  z-index: 1000;
}

/* line 19702, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu {
  min-width: 120px;
  z-index: 1050 !important;
  position: absolute !important;
}

/* line 19707, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu.show {
  z-index: 1050 !important;
}

/* line 19711, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu .dropdown-item {
  cursor: pointer;
  padding: 0.5rem 1rem;
}

/* line 19715, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu .dropdown-item:hover {
  background: rgba(204, 144, 60, 0.15);
}

@media (max-width: 992px) {
  /* line 19724, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 1rem !important;
  }
  /* line 19727, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.9rem;
  }
  /* line 19731, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .date-info {
    display: none !important;
  }
  /* line 19735, 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 19743, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.75rem !important;
  }
  /* line 19746, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.85rem;
  }
  /* line 19750, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    padding: 0.2rem 0.4rem !important;
    font-size: 0.6rem;
  }
  /* line 19754, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator span {
    display: none;
  }
  /* line 19759, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
  }
  /* line 19764, 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 19772, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.5rem !important;
  }
  /* line 19775, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-left {
    gap: 0.5rem;
  }
  /* line 19779, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-right {
    gap: 0.35rem;
  }
  /* line 19783, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.8rem;
  }
  /* line 19787, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.65rem;
    padding: 0.25rem 0.4rem;
  }
  /* line 19791, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm .btn-text {
    display: none !important;
  }
  /* line 19796, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    display: none !important;
  }
}

/* line 19808, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulations-content {
  max-width: 1400px;
  margin: 0;
  padding: 2rem;
}

/* line 19815, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro {
  background: rgba(27, 35, 51, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  transition: all 0.2s ease;
}

/* line 19822, 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 19828, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro.unseen {
  background: rgba(204, 144, 60, 0.05);
  border-color: rgba(204, 144, 60, 0.2);
}

/* line 19833, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .card-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #f7f6f4;
  margin: 0;
}

/* line 19840, 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 19851, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .mode-badge i {
  flex-shrink: 0;
}

/* line 19855, 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 19864, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .new-badge {
  background: linear-gradient(135deg, #cc903c, #a97832);
  color: #f7f6f4;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 19875, 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: 600;
}

/* line 19881, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-completed {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}

/* line 19885, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-processing {
  background: rgba(0, 123, 255, 0.2);
  color: #007bff;
}

/* line 19889, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-pending {
  background: rgba(108, 117, 125, 0.2);
  color: #adb5bd;
}

/* line 19893, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-failed {
  background: rgba(220, 53, 69, 0.2);
  color: #dc3545;
}

/* line 19899, 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 19906, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .date-range i {
  font-size: 0.7rem;
}

/* line 19908, 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 19916, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 19921, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

/* line 19926, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-label {
  font-size: 0.6rem;
  color: #64748b;
  text-transform: uppercase;
}

/* line 19931, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #f7f6f4;
}

/* line 19938, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.positive .metric-value {
  color: #28a745;
}

/* line 19939, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.negative .metric-value {
  color: #dc3545;
}

/* line 19942, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-risk .metric-value {
  color: #cc903c;
}

/* line 19948, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

/* line 19954, 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 19964, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row .event-mini-chip i {
  font-size: 0.55rem;
}

/* line 19967, 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 19976, 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 19983, 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 19987, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time {
  font-size: 0.7rem;
}

/* line 19989, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time i {
  margin-right: 0.25rem;
}

/* line 19992, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .action-buttons {
  display: flex;
  gap: 0.5rem;
}

/* line 19997, 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 20011, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action:hover {
  border-color: rgba(255, 255, 255, 0.3);
  color: #f7f6f4;
}

/* line 20016, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .btn-action.btn-view:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 20022, 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 20028, 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 20039, app/assets/stylesheets/dashboard.scss */
.simulations-index .empty-state .empty-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2), rgba(224, 188, 138, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

/* line 20049, app/assets/stylesheets/dashboard.scss */
.simulations-index .empty-state .empty-icon i {
  font-size: 2rem;
  color: #cc903c;
}

@media (max-width: 768px) {
  /* line 20058, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro {
    padding: 0.85rem 1rem;
  }
  /* line 20061, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .card-title {
    font-size: 0.85rem;
  }
  /* line 20065, 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 20071, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .mode-badge .mode-name {
    display: none;
  }
  /* line 20076, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    gap: 0.5rem;
  }
  /* line 20080, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-value {
    font-size: 0.75rem;
  }
  /* line 20081, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-label {
    font-size: 0.55rem;
  }
  /* line 20086, 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 20096, 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 20102, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  /* line 20108, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch !important;
  }
  /* line 20113, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row .action-buttons {
    justify-content: flex-end;
  }
}

/* line 20127, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card {
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.95), rgba(17, 24, 37, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* line 20134, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card:hover {
  border-color: rgba(204, 144, 60, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* line 20139, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header {
  background: linear-gradient(90deg, rgba(204, 144, 60, 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 20147, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header h5 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f7f6f4;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 20156, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header h5 i {
  color: #cc903c;
}

/* line 20161, 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(204, 144, 60, 0.15);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 20171, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-body {
  padding: 1.25rem;
}

/* line 20177, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1rem;
}

/* line 20183, 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 20192, 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, #cc903c), transparent);
}

/* line 20202, 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 20208, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-positive {
  --stock-color: #28a745;
}

/* line 20212, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-negative {
  --stock-color: #dc3545;
}

/* line 20216, 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 20222, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-symbol {
  font-size: 1.1rem;
  font-weight: 700;
  color: #f7f6f4;
  letter-spacing: 0.5px;
}

/* line 20229, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-name {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 2px;
}

/* line 20235, 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 20241, 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 20246, 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 20253, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
}

/* line 20259, 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 20267, 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 20272, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices .price-item .price-value.predicted {
  color: #cc903c;
}

/* line 20279, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-risks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* line 20284, 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(204, 144, 60, 0.15);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.25);
}

/* line 20296, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro {
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.95), rgba(17, 24, 37, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
}

/* line 20302, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header {
  background: linear-gradient(90deg, rgba(111, 66, 193, 0.1), rgba(204, 144, 60, 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 20310, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header h5 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f7f6f4;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 20319, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header h5 i {
  color: #6f42c1;
}

/* line 20324, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls {
  display: flex;
  gap: 0.5rem;
}

/* line 20328, 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 20337, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls .btn-chart-control:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 20346, 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 20350, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-body canvas {
  max-height: 350px;
}

/* line 20355, 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 20363, 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 20370, 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 20381, 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 20385, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 20390, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:first-child {
  padding-top: 0;
}

/* line 20394, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #f7f6f4;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 20403, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-title i {
  font-size: 0.9rem;
}

/* line 20408, 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 20414, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 20419, 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 20426, 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, #cc903c);
}

/* line 20439, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.risks-section ul li::before {
  background: #dc3545;
}

/* line 20443, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.opportunities-section ul li::before {
  background: #28a745;
}

/* line 20447, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.recommendations-section ul li::before {
  background: #6f42c1;
}

/* line 20454, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 20460, 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 20467, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card:hover {
  border-color: rgba(204, 144, 60, 0.3);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* line 20472, 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 20478, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggestion-header .event-date {
  font-size: 0.8rem;
  font-weight: 600;
  color: #cc903c;
}

/* line 20484, 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 20494, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(204, 144, 60, 0.2);
  border-radius: 8px;
  padding: 0.75rem;
  margin-top: 0.5rem;
}

/* line 20501, 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 20507, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info .symbol {
  font-weight: 700;
  color: #f7f6f4;
  font-size: 0.9rem;
}

/* line 20513, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info .name {
  font-size: 0.75rem;
  color: #718096;
}

/* line 20519, 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 20531, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
  /* line 20535, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .suggestions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  /* line 20543, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: 1fr;
  }
  /* line 20547, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header {
    padding: 0.75rem 1rem;
  }
  /* line 20550, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header h5 {
    font-size: 0.85rem;
  }
  /* line 20555, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-body {
    padding: 1rem;
  }
  /* line 20559, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card {
    padding: 0.875rem;
  }
  /* line 20562, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-header .stock-symbol {
    font-size: 1rem;
  }
  /* line 20566, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    gap: 1rem;
  }
  /* line 20569, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices .price-item .price-value {
    font-size: 0.9rem;
  }
  /* line 20576, 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 20582, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-header .chart-controls {
    width: 100%;
    justify-content: flex-end;
  }
  /* line 20588, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-body {
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 20597, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 20602, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-legend {
    gap: 0.75rem;
    padding: 0.5rem 1rem;
  }
}

/* line 20617, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulations-content {
  padding: 0.75rem 0.5rem !important;
}

/* line 20622, 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 20628, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-header h5 {
  font-size: 0.9rem !important;
}

/* line 20634, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-card-pro {
  padding: 0.75rem !important;
  margin-bottom: 0.5rem !important;
}

/* line 20640, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .mb-4 {
  margin-bottom: 0.75rem !important;
}

/* line 20644, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .pro-card {
  margin-bottom: 0.75rem !important;
}

/* line 20651, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header {
  padding: 0.6rem 0.75rem !important;
}

/* line 20654, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header h5 {
  font-size: 0.8rem !important;
}

/* line 20659, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-body {
  padding: 0.75rem !important;
}

/* line 20664, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header {
  padding: 0.5rem 0.75rem !important;
}

/* line 20667, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header .chart-title {
  font-size: 0.85rem !important;
}

/* line 20672, 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 20681, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulations-content {
    padding: 0.75rem 0.5rem;
  }
  /* line 20688, 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 20701, 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 20708, 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 20716, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .mc-stat-card .mc-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #f7f6f4;
}

/* line 20723, 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 20732, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card span {
  color: #a0aec0;
  font-size: 0.85rem;
}

/* line 20737, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card strong {
  margin-left: auto;
  font-size: 1rem;
}

/* line 20746, 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 20753, 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 20758, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card.base-case {
  border-color: rgba(204, 144, 60, 0.4);
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1), transparent);
}

/* line 20763, 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 20768, 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 20776, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-header i {
  font-size: 1rem;
}

/* line 20780, 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 20789, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-value {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 20795, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-return {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 20801, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-desc {
  color: #718096;
  font-size: 0.8rem;
  line-height: 1.4;
}

/* line 20808, app/assets/stylesheets/dashboard.scss */
.stress-test-card .recovery-estimate {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  color: #a0aec0;
  font-size: 0.9rem;
}

/* line 20816, app/assets/stylesheets/dashboard.scss */
.stress-test-card .recovery-estimate strong {
  color: #cc903c;
}

/* line 20825, app/assets/stylesheets/dashboard.scss */
.battle-card .battle-strategies-wrapper {
  width: 100%;
}

/* line 20829, 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 20829, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  /* line 20829, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* line 20844, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card-wrapper {
  min-width: 0;
}

/* line 20848, 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 20848, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card {
    padding: 0.85rem;
  }
}

/* line 20861, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card.winner {
  border-color: rgba(204, 144, 60, 0.6);
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(204, 144, 60, 0.05));
  box-shadow: 0 0 20px rgba(204, 144, 60, 0.2);
}

/* line 20867, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .winner-badge {
  position: absolute;
  top: -10px;
  right: 10px;
  background: linear-gradient(135deg, #cc903c, #cc903c);
  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 20867, 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 20888, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .winner-badge i {
  font-size: 0.65rem;
}

@media (max-width: 768px) {
  /* line 20888, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .winner-badge i {
    font-size: 0.55rem;
  }
}

/* line 20897, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-name {
  color: #f7f6f4;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
  /* line 20897, 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 20913, 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 20913, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-return {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20924, 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 20924, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics {
    gap: 0.25rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20935, 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 20935, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics > div {
    font-size: 0.7rem;
  }
}

/* line 20944, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div span {
  color: #718096;
}

/* line 20948, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div strong {
  color: #a0aec0;
}

/* line 20954, 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 20954, 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 20971, app/assets/stylesheets/dashboard.scss */
.battle-card .winner-reason {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 6px;
  padding: 1rem;
  color: #a0aec0;
  font-size: 0.9rem;
  line-height: 1.5;
}

@media (max-width: 768px) {
  /* line 20971, app/assets/stylesheets/dashboard.scss */
  .battle-card .winner-reason {
    padding: 0.75rem;
    font-size: 0.8rem;
  }
}

/* line 20985, app/assets/stylesheets/dashboard.scss */
.battle-card .winner-reason strong {
  color: #cc903c;
}

@media (max-width: 768px) {
  /* line 20994, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card {
    padding: 0.75rem;
  }
  /* line 20997, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-label {
    font-size: 0.65rem;
    margin-bottom: 0.35rem;
  }
  /* line 21002, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-value {
    font-size: 0.95rem;
  }
  /* line 21007, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card {
    padding: 0.5rem 0.75rem;
    flex-wrap: wrap;
  }
  /* line 21011, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card span {
    font-size: 0.75rem;
  }
  /* line 21015, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card strong {
    font-size: 0.9rem;
  }
  /* line 21021, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card {
    padding: 0.85rem;
  }
  /* line 21024, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-header {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }
  /* line 21029, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-value {
    font-size: 1.1rem;
  }
  /* line 21033, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-return {
    font-size: 0.85rem;
  }
  /* line 21037, 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 21050, 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 21060, 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 21073, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 21077, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    padding-left: 0 !important;
  }
}

@media (max-width: 767px) {
  /* line 21087, 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 21098, 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(204, 144, 60, 0.15), rgba(224, 188, 138, 0.15)) !important;
    border: 1px solid rgba(204, 144, 60, 0.4) !important;
    border-radius: 6px !important;
    color: #e0bc8a !important;
    cursor: pointer !important;
  }
  /* line 21114, 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: #e0bc8a !important;
  }
  /* line 21119, 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 21126, 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 21130, 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, #cc903c, #e0bc8a) !important;
    border-color: transparent !important;
  }
  /* line 21134, 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: #f7f6f4 !important;
  }
  /* line 21138, 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 21145, 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 21155, 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 21167, app/assets/stylesheets/dashboard.scss */
#portfolioHistoryModal {
  z-index: 1060 !important;
}

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

/* line 21176, app/assets/stylesheets/dashboard.scss */
body.modal-open .modal-backdrop + #portfolioHistoryModal,
#portfolioHistoryModal.show {
  z-index: 1060 !important;
}

/* line 21181, 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 21186, 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 21190, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title {
  color: #f7f6f4;
  font-weight: 600;
  font-size: 1.1rem;
}

/* line 21195, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title i {
  color: #cc903c;
}

/* line 21201, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-body {
  padding: 1.5rem;
}

/* line 21207, app/assets/stylesheets/dashboard.scss */
.period-selector {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

/* line 21212, 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: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 21223, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn:hover {
  border-color: #cc903c;
  color: #cc903c;
}

/* line 21228, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn.active {
  background: #cc903c;
  border-color: #cc903c;
  color: #000;
}

/* line 21237, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display {
  text-align: center;
}

/* line 21240, 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 21246, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value {
  font-size: 1.5rem;
  font-weight: 700;
}

/* line 21250, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.positive {
  color: #22c55e;
}

/* line 21254, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.negative {
  color: #ef4444;
}

/* line 21261, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

/* line 21266, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 21273, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 1rem;
}

/* line 21278, 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 21286, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f7f6f4;
}

/* line 21291, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.positive {
  color: #22c55e;
}

/* line 21295, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.negative {
  color: #ef4444;
}

@media (max-width: 576px) {
  /* line 21306, app/assets/stylesheets/dashboard.scss */
  #portfolioHistoryModal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 21312, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content {
    border-radius: 12px;
  }
  /* line 21315, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header {
    padding: 0.75rem 1rem;
  }
  /* line 21318, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header .modal-title {
    font-size: 1rem;
  }
  /* line 21323, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-body {
    padding: 1rem;
  }
  /* line 21328, app/assets/stylesheets/dashboard.scss */
  .period-selector {
    flex-wrap: wrap;
    gap: 0.35rem;
  }
  /* line 21332, app/assets/stylesheets/dashboard.scss */
  .period-selector .period-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.75rem;
    min-width: auto;
  }
  /* line 21340, app/assets/stylesheets/dashboard.scss */
  .portfolio-pl-display .pl-value {
    font-size: 1.25rem;
  }
  /* line 21345, app/assets/stylesheets/dashboard.scss */
  .portfolio-chart-container {
    padding: 0.5rem;
    height: 220px !important;
  }
  /* line 21350, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics {
    padding: 0.75rem;
  }
  /* line 21353, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-label {
    font-size: 0.65rem;
  }
  /* line 21357, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-value {
    font-size: 0.95rem;
  }
}

@media (min-width: 1440px) {
  /* line 21367, app/assets/stylesheets/dashboard.scss */
  .dashboard-transaction-dropdown {
    margin-left: 0.5rem !important;
  }
  /* line 21371, app/assets/stylesheets/dashboard.scss */
  .trades-dropdown-btn {
    padding: 10px !important;
    font-size: 0.8rem !important;
  }
}

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

/* line 21386, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dashboard-container::before {
  display: none;
}

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

/* line 21396, 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 21403, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21407, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-value {
  color: var(--text-primary) !important;
}

/* line 21411, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-label {
  color: var(--text-muted) !important;
}

/* line 21415, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .summary-divider {
  background: var(--border-color) !important;
}

/* line 21419, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .portfolio-summary-bar .total-breakdown {
  color: var(--text-muted) !important;
}

/* line 21425, 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 21431, 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 21436, 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 21441, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .card .card-body,
[data-theme="light"] .dashboard-card .card-body {
  color: var(--text-primary) !important;
}

/* line 21445, 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 21449, 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 21456, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21460, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table thead {
  background: var(--bg-secondary) !important;
}

/* line 21463, 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 21471, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stocks-table tbody tr {
  background: transparent !important;
  border-bottom-color: var(--border-color) !important;
}

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

/* line 21479, 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 21489, 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 21493, 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 21498, 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 21503, 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 21511, 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 21518, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21522, 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 21528, 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 21532, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watch-list-card .watch-item:hover {
  background: var(--bg-input) !important;
}

/* line 21539, 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 21544, 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 21552, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-row {
  background: var(--bg-primary) !important;
}

/* line 21556, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

/* line 21560, 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 21564, 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 21570, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .card-header h5 {
  color: var(--text-primary) !important;
}

/* line 21575, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .ai-analysis-card .metric-value {
  color: var(--text-primary) !important;
}

/* line 21579, 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 21586, 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 21592, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-header {
  background: var(--bg-secondary) !important;
  border-bottom-color: var(--border-color) !important;
}

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

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

/* line 21606, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .modal-footer {
  background: var(--bg-secondary) !important;
  border-top-color: var(--border-color) !important;
}

/* line 21612, 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 21617, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .calendar-cell:hover {
  background: var(--bg-input) !important;
}

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

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

/* line 21634, 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 21643, 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 21649, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu {
  background: var(--bg-card-solid) !important;
  border-color: var(--border-color) !important;
}

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

/* line 21656, 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 21663, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .dropdown-menu .dropdown-divider {
  border-color: var(--border-color) !important;
}

/* line 21669, 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 21678, app/assets/stylesheets/dashboard.scss */
  [data-theme="light"] .dashboard-tabs .nav-tabs {
    background: var(--bg-card-solid) !important;
  }
  /* line 21681, 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 21685, 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 21698, app/assets/stylesheets/dashboard.scss */
.fundamentals-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 21703, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 21710, 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 21720, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-title i {
  color: #cc903c;
}

/* line 21725, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-updated {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
}

/* line 21730, 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 21730, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  /* line 21730, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: 1fr;
  }
}

/* line 21744, 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 21750, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.valuation {
  border-left-color: #e0bc8a;
}

/* line 21751, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.market {
  border-left-color: #00b4d8;
}

/* line 21752, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.profitability {
  border-left-color: #22c55e;
}

/* line 21753, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.balance {
  border-left-color: #cc903c;
}

/* line 21756, 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 21764, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block-title i {
  margin-right: 0.3rem;
}

/* line 21766, app/assets/stylesheets/dashboard.scss */
.valuation .fundamentals-section .fund-block-title {
  color: #e0bc8a;
}

/* line 21767, app/assets/stylesheets/dashboard.scss */
.market .fundamentals-section .fund-block-title {
  color: #00b4d8;
}

/* line 21768, app/assets/stylesheets/dashboard.scss */
.profitability .fundamentals-section .fund-block-title {
  color: #22c55e;
}

/* line 21769, app/assets/stylesheets/dashboard.scss */
.balance .fundamentals-section .fund-block-title {
  color: #cc903c;
}

/* line 21772, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* line 21778, 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 21787, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* line 21793, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-high .fund-value {
  color: #ff6b6b;
}

/* line 21796, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-low .fund-value {
  color: #cc903c;
}

/* line 21799, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-good .fund-value {
  color: #22c55e;
}

/* line 21802, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-neutral .fund-value {
  color: #00b4d8;
}

/* line 21806, 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 21812, 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 21818, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-label .fund-info-icon:hover {
  color: rgba(255, 255, 255, 0.6);
}

/* line 21822, 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 21833, 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 21841, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-badge {
  font-size: 0.55rem;
  font-weight: 600;
  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 21854, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 21859, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block {
    padding: 0.6rem;
  }
  /* line 21863, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block-title {
    font-size: 0.55rem;
  }
  /* line 21867, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-label {
    font-size: 0.6rem;
  }
  /* line 21871, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-value {
    font-size: 0.68rem;
  }
}

@media (max-width: 380px) {
  /* line 21877, 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 21892, app/assets/stylesheets/dashboard.scss */
.search-skeleton-state {
  padding: 0.25rem 0;
}

/* line 21896, 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 21905, app/assets/stylesheets/dashboard.scss */
.search-skeleton-spinner i {
  color: #cc903c;
  font-size: 0.9rem;
}

/* line 21908, 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 21915, app/assets/stylesheets/dashboard.scss */
.search-skeleton-row:last-child {
  border-bottom: none;
}

/* line 21918, 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 21928, app/assets/stylesheets/dashboard.scss */
.search-skeleton-lines {
  flex: 1;
  min-width: 0;
}

/* line 21933, 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 21940, app/assets/stylesheets/dashboard.scss */
.search-skeleton-btns {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

/* line 21946, 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 21956, 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 21961, 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 21973, app/assets/stylesheets/dashboard.scss */
.today-actions-section {
  background: linear-gradient(135deg, rgba(0, 6, 21, 0.9) 0%, rgba(20, 28, 50, 0.8) 100%);
  border: 1px solid rgba(204, 144, 60, 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 21984, app/assets/stylesheets/dashboard.scss */
.today-actions-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  opacity: 0.6;
}

/* line 21995, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed {
  background: rgba(0, 6, 21, 0.6);
  border-color: rgba(204, 144, 60, 0.06);
  box-shadow: none;
}

/* line 22000, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed::before {
  opacity: 0.3;
}

/* line 22004, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed .today-actions-header {
  border-bottom-color: transparent;
}

/* line 22009, 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 22019, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:hover {
  background: rgba(204, 144, 60, 0.03);
}

/* line 22023, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:active {
  background: rgba(204, 144, 60, 0.05);
}

/* line 22028, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-title-group {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

/* line 22034, 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(204, 144, 60, 0.15);
  flex-shrink: 0;
}

/* line 22046, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-icon-wrap i {
  color: #cc903c;
  font-size: 0.6rem;
}

/* line 22052, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #f7f6f4;
  margin: 0;
  letter-spacing: -0.01em;
}

/* line 22060, 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, #cc903c 0%, #e0bc8a 100%);
  color: #000615;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 0 5px;
}

/* line 22074, 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 22085, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 22089, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron.rotated {
  transform: rotate(-90deg);
}

/* line 22094, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body {
  padding: 0.6rem 1.1rem 0.85rem;
}

/* line 22097, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body.collapsed {
  display: none;
}

/* line 22102, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

/* line 22109, 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 22119, 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 22124, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-buy {
  border-left: 3px solid #22c55e;
}

/* line 22127, 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(204, 144, 60, 0.03) 0%, transparent 100%);
  pointer-events: none;
}

/* line 22139, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-sell {
  border-left: 3px solid #ff6b6b;
}

/* line 22142, 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 22154, 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 22162, 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: 700;
  letter-spacing: 0.05em;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  text-transform: uppercase;
}

/* line 22173, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-buy {
  background: rgba(204, 144, 60, 0.15);
  color: #22c55e;
}

/* line 22178, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-sell {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 22184, 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 22191, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-confidence i {
  font-size: 0.55rem;
  color: #cc903c;
}

/* line 22197, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-stock {
  margin-bottom: 0.3rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 22204, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-symbol {
  font-size: 0.8rem;
  font-weight: 700;
  color: #f7f6f4;
  margin-right: 0.3rem;
}

/* line 22211, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-name {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 22216, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}

/* line 22223, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-price {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 22229, 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 22238, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-signal--strong {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 22244, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-signal--moderate {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.25);
}

/* line 22250, 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 22257, 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 22270, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-card.has-swap {
  padding-bottom: 0;
}

/* line 22274, 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(204, 144, 60, 0.25);
  background: rgba(204, 144, 60, 0.03);
  border-radius: 0 0 12px 12px;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

/* line 22284, 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: #cc903c;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.4rem;
}

/* line 22295, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-arrow i {
  font-size: 0.55rem;
}

/* line 22300, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-target {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 22307, 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 22317, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

/* line 22322, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-symbol {
  font-size: 0.75rem;
  font-weight: 700;
}

/* line 22327, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-name {
  font-size: 0.6rem;
}

/* line 22332, 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 22341, app/assets/stylesheets/dashboard.scss */
.today-actions-header-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 22347, 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 22361, 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 22367, app/assets/stylesheets/dashboard.scss */
.today-actions-show-completed.is-active {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
  border-color: rgba(204, 144, 60, 0.3);
}

/* line 22375, 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 22394, app/assets/stylesheets/dashboard.scss */
.today-action-card:hover .today-action-check-btn {
  opacity: 1;
}

/* line 22398, app/assets/stylesheets/dashboard.scss */
.today-action-check-btn:hover {
  border-color: #cc903c;
  color: #cc903c;
  background: rgba(204, 144, 60, 0.1);
  transform: scale(1.1);
}

/* line 22407, app/assets/stylesheets/dashboard.scss */
.today-action-completed-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 6, 21, 0.85);
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 3;
}

/* line 22420, app/assets/stylesheets/dashboard.scss */
.today-action-completed-overlay i {
  font-size: 1.5rem;
  color: #cc903c;
}

/* line 22428, app/assets/stylesheets/dashboard.scss */
.today-action-card.completing .today-action-completed-overlay {
  opacity: 1;
  animation: completePulse 0.5s ease;
}

/* line 22433, 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 22445, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed {
  opacity: 0.45;
  filter: grayscale(0.4);
}

/* line 22449, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed .today-action-check-btn {
  opacity: 1;
  border-color: #cc903c;
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 22456, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed .today-action-completed-overlay {
  opacity: 0;
}

/* line 22460, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed:hover {
  opacity: 0.65;
}

/* line 22466, 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: #cc903c;
  font-size: 0.8rem;
  font-weight: 600;
}

/* line 22476, app/assets/stylesheets/dashboard.scss */
.today-actions-all-done i {
  font-size: 1rem;
}

/* line 22483, 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 22488, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-show-completed:hover {
  background: rgba(0, 0, 0, 0.04);
  color: #1e293b;
}

/* line 22493, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-show-completed.is-active {
  background: rgba(22, 163, 74, 0.08);
  color: #16a34a;
  border-color: rgba(22, 163, 74, 0.3);
}

/* line 22500, 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 22505, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-check-btn:hover {
  border-color: #16a34a;
  color: #16a34a;
  background: rgba(22, 163, 74, 0.08);
}

/* line 22512, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-completed-overlay {
  background: rgba(255, 255, 255, 0.88);
}

/* line 22515, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-completed-overlay i {
  color: #16a34a;
}

/* line 22518, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.is-completed .today-action-check-btn {
  border-color: #16a34a;
  background: rgba(22, 163, 74, 0.12);
  color: #16a34a;
}

/* line 22524, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-all-done {
  color: #16a34a;
}

/* line 22530, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section {
  background: linear-gradient(135deg, #ffffff 0%, #f7f6f4 100%);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* line 22535, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section.is-collapsed {
  background: #f7f6f4;
  border-color: rgba(0, 0, 0, 0.05);
  box-shadow: none;
}

/* line 22541, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section::before {
  opacity: 0.8;
}

/* line 22545, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-header {
  border-bottom-color: rgba(0, 0, 0, 0.05);
}

/* line 22548, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-header:hover {
  background: rgba(204, 144, 60, 0.02);
}

/* line 22553, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-icon-wrap {
  background: rgba(22, 163, 74, 0.08);
}

/* line 22557, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-title {
  color: #1e293b;
}

/* line 22561, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-actions-section .today-actions-count {
  color: #f7f6f4;
}

/* line 22566, 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 22570, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card:hover {
  background: rgba(0, 0, 0, 0.03);
}

/* line 22574, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-buy {
  border-left-color: #16a34a;
}

/* line 22576, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-buy::after {
  background: linear-gradient(90deg, rgba(22, 163, 74, 0.03) 0%, transparent 100%);
}

/* line 22578, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-card.action-sell {
  border-left-color: #dc2626;
}

/* line 22580, 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 22584, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-symbol {
  color: #1e293b;
}

/* line 22589, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .today-action-badge.action-buy {
  background: rgba(22, 163, 74, 0.1);
  color: #16a34a;
}

/* line 22593, 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 22603, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.75rem 1rem 0.85rem;
  }
  /* line 22607, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.55rem;
  }
  /* line 22612, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 28px;
    height: 28px;
    border-radius: 5px;
  }
  /* line 22619, app/assets/stylesheets/dashboard.scss */
  .today-action-card {
    padding: 0.7rem 0.75rem;
  }
  /* line 22622, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge {
    font-size: 0.62rem;
    padding: 0.2rem 0.45rem;
    gap: 0.25rem;
  }
  /* line 22627, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.56rem;
  }
  /* line 22630, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    white-space: normal;
  }
  /* line 22634, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    display: inline;
    font-size: 0.64rem;
  }
  /* line 22639, 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 22649, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  /* line 22657, app/assets/stylesheets/dashboard.scss */
  .today-actions-section {
    border-radius: 12px;
    margin-bottom: 0.65rem;
  }
  /* line 22661, app/assets/stylesheets/dashboard.scss */
  .today-actions-section::before {
    height: 1.5px;
  }
  /* line 22665, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-header {
    padding: 0.6rem 0.85rem;
  }
  /* line 22669, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.5rem 0.75rem 0.65rem;
  }
  /* line 22673, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  /* line 22678, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-title {
    font-size: 0.78rem;
  }
  /* line 22682, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 26px;
    height: 26px;
    border-radius: 5px;
  }
  /* line 22687, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap i {
    font-size: 0.6rem;
  }
  /* line 22690, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-count {
    min-width: 16px;
    height: 16px;
    font-size: 0.55rem;
  }
  /* line 22697, 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 22708, app/assets/stylesheets/dashboard.scss */
  .today-action-card::after {
    display: none;
  }
  /* line 22709, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-buy {
    border-left-color: #22c55e;
  }
  /* line 22710, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-sell {
    border-left-color: #ff6b6b;
  }
  /* line 22711, app/assets/stylesheets/dashboard.scss */
  .today-action-card:hover {
    background: rgba(255, 255, 255, 0.04);
  }
  /* line 22713, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge-row {
    flex-shrink: 0;
    margin-bottom: 0;
  }
  /* line 22718, 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 22724, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.58rem;
  }
  /* line 22727, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-confidence {
    display: none;
  }
  /* line 22731, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
  }
  /* line 22737, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.78rem;
  }
  /* line 22741, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    font-size: 0.65rem;
    color: #64748b;
  }
  /* line 22746, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-price {
    flex-shrink: 0;
    margin-bottom: 0;
    font-size: 0.72rem;
    color: #64748b;
  }
  /* line 22753, 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 22765, 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 22780, 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 22790, app/assets/stylesheets/dashboard.scss */
.stock-followers-count i {
  font-size: 0.55rem;
}

/* line 22794, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip] {
  cursor: default;
}

/* line 22797, 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 22807, 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: #f7f6f4;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 1000;
}

/* line 22822, 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 22831, 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 22840, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .stock-followers-count {
  color: #94a3b8;
}

/* line 22848, 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(204, 144, 60, 0.12);
  cursor: pointer;
  margin-left: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* line 22861, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle:hover {
  background: rgba(204, 144, 60, 0.25);
  transform: scale(1.1);
}

/* line 22866, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i {
  font-size: 0.7rem;
  color: #cc903c;
}

/* line 22870, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i.fa-bell-slash {
  color: #6b7280;
}

/* line 22876, 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 22879, 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 22886, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-alert-toggle {
  background: rgba(204, 144, 60, 0.08);
}

/* line 22889, app/assets/stylesheets/dashboard.scss */
[data-theme="light"] .watchlist-alert-toggle:hover {
  background: rgba(204, 144, 60, 0.18);
}

/* line 22898, 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 22909, app/assets/stylesheets/dashboard.scss */
.today-actions-gate i {
  font-size: 0.8rem;
}

/* line 22913, app/assets/stylesheets/dashboard.scss */
.today-actions-gate span {
  font-size: 0.8rem;
}

/* line 22918, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  opacity: 0.45;
  cursor: default;
}

/* line 22925, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch .form-check-input {
  cursor: not-allowed;
  margin-top: 0;
}

/* line 22930, 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 22938, app/assets/stylesheets/dashboard.scss */
.prediction-refresh-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 22943, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 8px;
  background: rgba(204, 144, 60, 0.08);
  color: #cc903c;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 22957, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.5);
  transform: translateY(-1px);
}

/* line 22963, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh:active {
  transform: translateY(0);
}

/* line 22967, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh i {
  font-size: 0.7rem;
}

/* line 22972, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-disabled,
.btn-stock-refresh-mobile.btn-stock-refresh-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.4);
}

/* line 22980, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-disabled:hover,
.btn-stock-refresh-mobile.btn-stock-refresh-disabled:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
  transform: none;
}

/* line 22987, app/assets/stylesheets/dashboard.scss */
.stock-refresh-stale-label {
  display: block;
  margin-top: 4px;
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.02em;
}

/* line 22995, app/assets/stylesheets/dashboard.scss */
.stock-refresh-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
}

/* line 23003, app/assets/stylesheets/dashboard.scss */
.stock-refresh-shimmer {
  width: 100%;
  max-width: 140px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
  position: relative;
}

/* line 23012, app/assets/stylesheets/dashboard.scss */
.stock-refresh-shimmer::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #cc903c, transparent);
  animation: stock-refresh-shimmer 1.8s infinite;
}

@keyframes stock-refresh-shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

/* line 23029, app/assets/stylesheets/dashboard.scss */
.stock-refresh-message {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}

/* line 23035, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 12px;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}

/* line 23046, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing .stock-refresh-shimmer {
  width: 60px;
  max-width: 60px;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  mask-image: radial-gradient(white, black);
}

/* line 23053, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing .stock-refresh-message {
  font-size: 0.6rem;
  white-space: nowrap;
}

/* line 23059, app/assets/stylesheets/dashboard.scss */
.mobile-j1-stale {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

/* line 23066, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 6px;
  background: rgba(204, 144, 60, 0.08);
  color: #cc903c;
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 23080, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.5);
}

/* line 23085, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile:active {
  transform: scale(0.96);
}

/* line 23089, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile i {
  font-size: 0.65rem;
}

/* line 23094, app/assets/stylesheets/dashboard.scss */
.stock-refresh-tooltip-anchor {
  position: relative;
  display: inline-block;
}

/* line 23098, app/assets/stylesheets/dashboard.scss */
.stock-refresh-tooltip-anchor:hover .stock-refresh-all-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* line 23105, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  z-index: 1000;
  background: #1a1f2e;
  border: 1px solid rgba(204, 144, 60, 0.2);
  border-radius: 10px;
  padding: 10px 14px;
  min-width: 180px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(204, 144, 60, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

/* line 23126, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: #1a1f2e;
  border-bottom: 1px solid rgba(204, 144, 60, 0.2);
  border-right: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 23139, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .refresh-all-text {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}

/* line 23144, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.25);
  padding: 5px 12px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #cc903c;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s ease;
}

/* line 23155, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 23160, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link i {
  font-size: 0.6rem;
  margin-right: 4px;
}

/* line 23174, app/assets/stylesheets/dashboard.scss */
.company-profile-card {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 0.55rem 0.6rem;
}

/* line 23180, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 23187, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-ident {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

/* line 23194, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-name {
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 23204, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem;
  font-size: 0.6rem;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.5);
}

/* line 23213, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta .company-profile-ticker {
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #cc903c;
}

/* line 23219, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta .company-profile-sector,
.company-profile-card .company-profile-meta .company-profile-cap {
  padding: 0.08rem 0.32rem;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* line 23231, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-text {
  margin: 0.45rem 0 0;
  font-size: 0.68rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.62);
}

/* line 23238, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-more {
  display: inline-block;
  margin-top: 0.25rem;
  font-size: 0.64rem;
  font-weight: 600;
  color: #cc903c;
  cursor: pointer;
}

/* line 23246, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-more:hover, .company-profile-card .company-profile-more:focus-visible {
  color: #e0bc8a;
  text-decoration: underline;
}

/* line 23263, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip {
  margin: 0 1.5rem 0.75rem calc(1.5rem + 0.6rem + 1px);
  padding: 0.7rem 0.85rem;
}

/* line 23267, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-name {
  font-size: 0.9rem;
  white-space: normal;
}

/* line 23272, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-meta {
  font-size: 0.66rem;
}

/* line 23276, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-text {
  font-size: 0.76rem;
  max-width: 105ch;
}

/* line 23281, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-more {
  font-size: 0.7rem;
}

@media (max-width: 575.98px) {
  /* line 23288, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-name {
    font-size: 0.8rem;
  }
  /* line 23289, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-text {
    font-size: 0.72rem;
  }
  /* line 23290, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-more {
    font-size: 0.7rem;
  }
}

/* line 23300, app/assets/stylesheets/dashboard.scss */
.stock-logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.07);
  overflow: hidden;
  vertical-align: middle;
}

/* line 23311, app/assets/stylesheets/dashboard.scss */
.stock-logo .stock-logo-initials {
  font-weight: 700;
  letter-spacing: 0.3px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1;
  user-select: none;
}

/* line 23319, app/assets/stylesheets/dashboard.scss */
.stock-logo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: rgba(255, 255, 255, 0.04);
  opacity: 1;
}

/* line 23330, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-sm {
  width: 26px;
  height: 26px;
}

/* line 23333, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-sm .stock-logo-initials {
  font-size: 0.6rem;
}

/* line 23336, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-md {
  width: 32px;
  height: 32px;
  border-radius: 7px;
}

/* line 23340, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-md .stock-logo-initials {
  font-size: 0.7rem;
}

/* line 23343, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-lg {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}

/* line 23347, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-lg .stock-logo-initials {
  font-size: 0.85rem;
}

/* line 23369, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulations-content {
  padding: 2rem;
}

/* line 23373, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-count,
.simulations-index .sim-quota {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 23387, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mobile-cta {
  margin-bottom: 1rem;
}

/* line 23389, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mobile-cta .btn {
  min-height: 48px;
}

/* line 23393, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-toolbar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 1.25rem;
}

/* line 23400, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search {
  position: relative;
  display: flex;
  align-items: center;
}

/* line 23406, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-icon {
  position: absolute;
  left: 14px;
  font-size: 13px;
  color: #64748b;
  pointer-events: none;
}

/* line 23414, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-input {
  width: 100%;
  min-height: 46px;
  padding: 10px 40px 10px 38px;
  border-radius: 12px;
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #f7f6f4;
  font-size: 16px;
  font-weight: 400;
}

/* line 23426, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-input::placeholder {
  color: #64748b;
}

/* line 23428, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-input:focus {
  outline: none;
  border-color: rgba(204, 144, 60, 0.45);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.12);
}

/* line 23435, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-clear {
  position: absolute;
  right: 8px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #94a3b8;
  font-size: 13px;
  text-decoration: none;
}

/* line 23448, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-clear:hover {
  color: #f7f6f4;
  background: rgba(255, 255, 255, 0.06);
}

/* line 23452, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

/* line 23459, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chips::-webkit-scrollbar {
  display: none;
}

/* line 23462, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

/* line 23478, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chip:hover {
  color: #f7f6f4;
}

/* line 23480, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chip.is-active {
  background: rgba(204, 144, 60, 0.12);
  border-color: rgba(204, 144, 60, 0.35);
  color: #cc903c;
}

/* line 23487, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chip-count {
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}

/* line 23495, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}

/* line 23501, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card {
  display: flex;
  flex-direction: column;
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-left: 3px solid #cc903c;
  border-radius: 16px;
  padding: 16px;
}

/* line 23510, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card.is-unseen {
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.18);
}

/* line 23513, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

/* line 23520, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-ident {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 23527, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 7px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* line 23539, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode i {
  font-size: 10px;
}

/* line 23543, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-title {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  color: #f7f6f4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 23555, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-status {
  flex-shrink: 0;
  padding: 3px 9px;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #94a3b8;
}

/* line 23567, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-status.sim-status--completed {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.28);
  color: #22c55e;
}

/* line 23568, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-status.sim-status--failed {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.28);
  color: #ff6b6b;
}

/* line 23571, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-dates {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 12px;
  color: #64748b;
}

/* line 23579, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-dates i {
  font-size: 10px;
}

/* line 23582, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-duration {
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 23591, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
  padding: 14px 0;
}

/* line 23600, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 12.5px;
  color: #94a3b8;
}

/* line 23609, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row strong {
  color: #f7f6f4;
  font-variant-numeric: tabular-nums;
}

/* line 23610, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row .is-negative strong {
  color: #ff6b6b;
}

/* line 23611, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row i {
  font-size: 11px;
}

/* line 23614, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-outcome {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
}

/* line 23621, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-return {
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

/* line 23627, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-return.is-positive {
  color: #22c55e;
}

/* line 23628, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-return.is-negative {
  color: #ff6b6b;
}

/* line 23631, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-outcome-flow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

/* line 23639, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-outcome-flow i {
  font-size: 9px;
}

/* line 23642, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-events {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 23648, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-event {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border-radius: 7px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
}

/* line 23659, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-event i {
  font-size: 9px;
}

/* line 23661, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-event.sim-event--more {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.06);
  font-variant-numeric: tabular-nums;
}

/* line 23668, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-state {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  line-height: 1.45;
  color: #94a3b8;
}

/* line 23676, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-state.sim-state--error {
  color: #ff6b6b;
}

/* line 23677, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-state i {
  font-size: 12px;
  flex-shrink: 0;
}

/* line 23680, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 23689, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-time {
  font-size: 11.5px;
  color: #64748b;
}

/* line 23694, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 23700, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-delete-form {
  margin: 0;
}

/* line 23702, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 14px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.05);
  color: #f7f6f4;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

/* line 23717, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn:active {
  transform: scale(0.97);
}

/* line 23719, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn.sim-btn--icon {
  width: 36px;
  padding: 0;
  color: #64748b;
}

/* line 23724, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn.sim-btn--icon:hover {
  color: #f7f6f4;
}

/* line 23727, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn.sim-btn--delete:hover {
  color: #ff6b6b;
  border-color: rgba(239, 68, 68, 0.3);
}

/* line 23734, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination {
  display: flex;
  justify-content: center;
  margin-top: 1.75rem;
}

/* line 23739, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination .pagination {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 23748, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination .page-item .page-link,
.simulations-index .sim-pagination a, .simulations-index .sim-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0 10px;
  border-radius: 10px;
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}

/* line 23766, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination .page-item.active .page-link,
.simulations-index .sim-pagination em, .simulations-index .sim-pagination .current {
  background: rgba(204, 144, 60, 0.14);
  border-color: rgba(204, 144, 60, 0.35);
  color: #cc903c;
  font-style: normal;
}

/* line 23774, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination .page-item.disabled .page-link,
.simulations-index .sim-pagination .disabled {
  opacity: 0.4;
}

/* line 23779, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding: 3.5rem 1.5rem;
}

/* line 23787, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty h4 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 400;
  color: #f7f6f4;
}

/* line 23794, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty p {
  margin: 0 0 8px;
  font-size: 0.9rem;
  color: #94a3b8;
  max-width: 34ch;
}

/* line 23800, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty p:empty {
  display: none;
}

/* line 23804, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty-icon {
  font-size: 1.75rem;
  color: #64748b;
  margin-bottom: 4px;
}

@media (max-width: 767px) {
  /* line 23813, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulations-content {
    padding: 0 1rem 5rem;
  }
  /* line 23815, app/assets/stylesheets/dashboard.scss */
  .simulations-index .sim-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  /* line 23822, app/assets/stylesheets/dashboard.scss */
  .simulations-index .dashboard-header .header-right .btn {
    display: none;
  }
}

/* ============================================================================
   Stocks section — reading order above the table
   ============================================================================
   Your Trading Plan comes FIRST and reads as its own section; the portfolio
   header, the market-analysis banner and the table then read as ONE unit.

   Before: the plan sat between the banner and the table, sandwiched by equal
   gaps on both sides, so it looked like a separator rather than a section — and
   the header/filters floated free of the table they control.

   Desktop only. Below 768px mobile_dashboard_redesign.css owns this area and
   already lays it out differently.
   ========================================================================= */
@media (min-width: 768px) {
  /* line 23840, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section {
    /* ---- The plan: given real presence ---- */
    /* ---- Header → banner → table: one block, no air between ---- */
    /* The table wrapper carries no margin of its own; this keeps any utility
       class (mt-*) from re-opening the gap. */
  }
  /* line 23843, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section {
    /* The one deliberate gap in this stack: it separates the plan from the
         portfolio group below, and is what makes them read as two sections. */
    margin-bottom: 1.5rem;
    border-color: rgba(204, 144, 60, 0.28);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(204, 144, 60, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    /* The gold rule along the top was at 0.6 opacity and 2px — present, but
         not enough to announce a section. */
  }
  /* line 23855, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section::before {
    height: 3px;
    opacity: 1;
  }
  /* line 23860, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section .action-graph-header {
    padding: 0.85rem 1.15rem;
  }
  /* line 23864, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section .action-graph-title-group {
    font-size: 1.02rem;
  }
  /* line 23870, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .section-header.portfolio-header-row {
    margin-bottom: 0.5rem;
  }
  /* line 23874, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .market-analysis-banner {
    /* Was 1rem, which pushed the table away from the header that filters it. */
    margin-bottom: 0.5rem;
  }
  /* line 23881, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section [data-expert-mode-target="tableWrapper"] {
    margin-top: 0;
  }
}

/* ============================================================================
   Dashboard tooltips — CSS only, no Bootstrap
   ============================================================================
   The table's tooltips used to be Bootstrap tooltips driven by a `title`
   attribute. Two failure modes came with that, and both were visible:

     - until Bootstrap takes over an element, the BROWSER shows its own `title`
       tooltip instead — about a second of delay, and no way to hurry it;
     - that native fallback renders markup as literal text, which is why the
       AI-disagreement and daily-signal tips printed "<strong>" and
       "<span class='...'>" on screen.

   stock_analysis/:id never had either problem because its tooltips were never
   Bootstrap's: they are real DOM shown on :hover (.sa-tooltip-trigger). This is
   the same pattern. Instant by construction, markup renders because it IS
   markup, and there is no initialisation that can fail to run.

   Deliberately no :has() — a :has() whose argument is a class forces WebKit to
   re-query the subtree on every descendant state change, which is what froze
   the app for seconds on every tap in a field. The cells these sit in
   (.signal-cell, .events-cell, price cells) do not clip, so nothing needs to
   escape an overflow.
   ========================================================================= */
/* line 23911, app/assets/stylesheets/dashboard.scss */
.dash-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 23918, app/assets/stylesheets/dashboard.scss */
.dash-tip-content {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 280px;
  padding: 0.6rem 0.8rem;
  background: rgba(17, 24, 37, 0.98);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.88);
  text-align: left;
  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 23942, app/assets/stylesheets/dashboard.scss */
.dash-tip-content strong {
  color: #fff;
  font-weight: 600;
}

/* line 23943, app/assets/stylesheets/dashboard.scss */
.dash-tip-content em {
  color: rgba(255, 255, 255, 0.65);
  font-style: normal;
}

/* line 23945, app/assets/stylesheets/dashboard.scss */
.dash-tip-content hr {
  margin: 6px 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* line 23951, app/assets/stylesheets/dashboard.scss */
.dash-tip-content::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(204, 144, 60, 0.3);
}

/* :focus and :focus-within, NOT :focus-visible. A touch device has no hover,
   and :focus-visible is deliberately not matched on touch — it exists for
   keyboard navigation. Tapping a [tabindex] element does focus it, so :focus is
   what makes these open on a phone, and tapping elsewhere closes them.
   :focus-within covers the triggers that wrap a real control (the plan's
   checkbox and skip button), where focus lands on the child. */
/* line 23970, app/assets/stylesheets/dashboard.scss */
.dash-tip:hover .dash-tip-content,
.dash-tip:focus .dash-tip-content,
.dash-tip:focus-within .dash-tip-content {
  display: block;
}

/* Focus is being used to drive the tip, so the UA outline would fire on every
   tap. Keyboard users still get a ring, via :focus-visible. */
/* line 23978, app/assets/stylesheets/dashboard.scss */
.dash-tip:focus {
  outline: none;
}

/* line 23980, app/assets/stylesheets/dashboard.scss */
.dash-tip:focus-visible {
  outline: 2px solid rgba(204, 144, 60, 0.6);
  outline-offset: 2px;
}

/* The condition banner is a full-width block, so it becomes the trigger itself
   rather than being wrapped: an inline-flex wrapper would collapse it. */
/* Converted in place rather than wrapped, so .dash-tip must not impose its own
   inline-flex on a row that is already laid out. */
/* Placement below the trigger, for triggers near the top of the page where a
   tip above would be clipped by the viewport. */
/* line 23992, app/assets/stylesheets/dashboard.scss */
.dash-tip--below .dash-tip-content {
  bottom: auto;
  top: calc(100% + 8px);
}

/* line 23996, app/assets/stylesheets/dashboard.scss */
.dash-tip--below .dash-tip-content::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: rgba(204, 144, 60, 0.3);
}

/* Triggers near the right edge would push a centred tip off-screen. */
/* line 24005, app/assets/stylesheets/dashboard.scss */
.dash-tip--end .dash-tip-content {
  left: auto;
  right: 0;
  transform: none;
}

/* line 24010, app/assets/stylesheets/dashboard.scss */
.dash-tip--end .dash-tip-content::after {
  left: auto;
  right: 12px;
  transform: none;
}

/* In the trading plan the triggers sit near the LEFT edge of an inset card, so
   a centred tip ran off that side. Anchor it to the trigger's left edge. */
/* line 24015, app/assets/stylesheets/dashboard.scss */
.action-graph-section .dash-tip-content {
  left: 0;
  right: auto;
  transform: none;
  max-width: 260px;
}

/* line 24021, app/assets/stylesheets/dashboard.scss */
.action-graph-section .dash-tip-content::after {
  left: 14px;
  right: auto;
  transform: none;
}

/* line 24028, app/assets/stylesheets/dashboard.scss */
.ag-condition-banner.dash-tip,
.fund-row.dash-tip {
  display: flex;
  width: 100%;
}

/* line 24043, app/assets/stylesheets/dashboard.scss */
.tab-page-content {
  padding: 0 2rem;
}

@media (max-width: 991.98px) {
  /* line 24048, app/assets/stylesheets/dashboard.scss */
  .tab-page-content {
    padding: 0 1rem;
  }
}

@media (max-width: 767.98px) {
  /* line 24052, app/assets/stylesheets/dashboard.scss */
  .tab-page-content {
    padding: 0 0.75rem;
  }
}
/* 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 #cc903c;
}

/* 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 #22c55e;
}

/* 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: 600;
}

/* 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: #cc903c;
}

/* 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: #22c55e;
}

/* 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: #22c55e;
}

/* 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 #cc903c;
}

/* 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 #22c55e;
}

/* 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: #f7f6f4;
}

/* 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: #f7f6f4;
}

/* 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: #cc903c;
}

/* 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: #22c55e;
}

/* 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 285, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-critical {
  color: #ef4444;
}

/* line 286, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-elevated {
  color: #cc903c;
}

/* line 287, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-moderate {
  color: #60a5fa;
}

/* line 288, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .status-normal {
  color: #22c55e;
}

/* line 289, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .trend-improving {
  color: #22c55e;
}

/* line 290, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .trend-stable {
  color: #94a3b8;
}

/* line 291, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-compact-status .trend-deteriorating {
  color: #ef4444;
}

/* line 294, app/assets/stylesheets/geopolitical.scss */
.pizza-compact-card .pizza-note {
  margin: 0;
  font-size: 0.7rem;
  color: #94a3b8;
  line-height: 1.4;
}

/* line 303, 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 312, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-1 {
  background: rgba(239, 68, 68, 0.15);
  border-left: 4px solid #ef4444;
}

/* line 313, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-2 {
  background: rgba(249, 115, 22, 0.12);
  border-left: 4px solid #f97316;
}

/* line 314, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-3 {
  background: rgba(204, 144, 60, 0.1);
  border-left: 4px solid #cc903c;
}

/* line 315, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner.defcon-4 {
  background: rgba(34, 197, 94, 0.08);
  border-left: 4px solid #22c55e;
}

/* line 317, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner .defcon-emoji {
  font-size: 1.25rem;
}

/* line 318, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner .defcon-name {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* line 319, app/assets/stylesheets/geopolitical.scss */
.defcon-alert-banner .defcon-status-text {
  color: #94a3b8;
  font-size: 0.85rem;
}

/* line 323, 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 330, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 336, 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 344, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header h4 i {
  color: #60a5fa;
}

/* line 347, 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 354, 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 355, 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 356, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-elevated {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 357, 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 358, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-header .threat-score-badge.threat-low {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 362, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .threat-summary {
  font-size: 0.85rem;
  color: #94a3b8;
  line-height: 1.6;
  margin: 0;
}

/* line 369, 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 374, app/assets/stylesheets/geopolitical.scss */
.threat-overview-card .last-update i {
  margin-right: 0.3rem;
}

/* line 379, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo {
  text-align: center;
  padding: 3rem 1rem;
  color: #94a3b8;
}

/* line 384, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo .empty-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

/* line 385, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo h4 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
  color: #f7f6f4;
}

/* line 386, app/assets/stylesheets/geopolitical.scss */
.empty-state-geo p {
  font-size: 0.85rem;
}

/* line 390, 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 398, 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 408, app/assets/stylesheets/geopolitical.scss */
.geopolitical-card h5 i {
  color: #e0bc8a;
}

/* line 413, app/assets/stylesheets/geopolitical.scss */
.tensions-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 419, 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 425, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-critical {
  border-color: #ef4444;
}

/* line 426, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-high {
  border-color: #f97316;
}

/* line 427, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-moderate {
  border-color: #22c55e;
}

/* line 428, app/assets/stylesheets/geopolitical.scss */
.tension-item.tension-low {
  border-color: #22c55e;
}

/* line 430, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* line 436, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-countries {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 441, 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 448, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 449, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 450, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.moderate {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 451, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-header .tension-badge.low {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 455, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* line 462, 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 469, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend.trend-escalating {
  color: #ef4444;
}

/* line 470, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend.trend-de-escalating {
  color: #22c55e;
}

/* line 471, app/assets/stylesheets/geopolitical.scss */
.tension-item .tension-trend.trend-stable {
  color: #94a3b8;
}

/* line 476, app/assets/stylesheets/geopolitical.scss */
.events-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 482, app/assets/stylesheets/geopolitical.scss */
.event-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 487, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* line 493, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-region {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 497, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-region i {
  margin-right: 0.25rem;
}

/* line 500, 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 507, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 508, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 509, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.moderate {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 510, app/assets/stylesheets/geopolitical.scss */
.event-item .event-header .event-severity.low {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 514, app/assets/stylesheets/geopolitical.scss */
.event-item .event-title {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
}

/* line 520, app/assets/stylesheets/geopolitical.scss */
.event-item .event-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* line 529, app/assets/stylesheets/geopolitical.scss */
.risk-factors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0.75rem;
}

/* line 535, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 540, 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 546, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-factor-name {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 551, 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 558, 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 559, 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 560, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-header .risk-likelihood.likelihood-low {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 564, app/assets/stylesheets/geopolitical.scss */
.risk-factor-item .risk-factor-description {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
  line-height: 1.5;
}

/* line 573, app/assets/stylesheets/geopolitical.scss */
.recommendations-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 578, 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 585, app/assets/stylesheets/geopolitical.scss */
.recommendations-list li:last-child {
  border-bottom: none;
}

/* line 587, app/assets/stylesheets/geopolitical.scss */
.recommendations-list li i {
  color: #cc903c;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

/* line 596, 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 602, 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 608, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header {
  margin-bottom: 1rem;
}

/* line 611, 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 619, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header h6 i {
  color: #cc903c;
}

/* line 622, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-header .pizza-description {
  font-size: 0.85rem;
  color: #94a3b8;
  margin: 0;
}

/* line 629, 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 #cc903c;
  margin-bottom: 1rem;
  font-size: 0.85rem;
}

/* line 637, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-analysis-note.critical {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
}

/* line 643, 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 656, 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 663, 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 668, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item.status-elevated {
  border-left: 3px solid #cc903c;
}

/* line 669, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item.status-high {
  border-left: 3px solid #f97316;
}

/* line 670, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item.status-normal {
  border-left: 3px solid #22c55e;
}

/* line 672, 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 677, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-header .location-name {
  font-weight: 600;
  font-size: 0.85rem;
}

/* line 678, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-header .location-area {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 681, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-activity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 686, 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 693, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-location-item .location-activity .activity-bar .activity-fill {
  height: 100%;
  background: linear-gradient(90deg, #cc903c, #cc903c);
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* line 701, 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 709, 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: #cc903c;
  margin-top: 0.4rem;
}

/* line 719, 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 726, app/assets/stylesheets/geopolitical.scss */
.pizza-index-details-card .pizza-disclaimer i {
  margin-right: 0.4rem;
}

/* line 731, 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 739, 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 747, 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 754, 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 762, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* line 767, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover {
  text-decoration: none;
}

/* line 770, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover .geopolitical-mini {
  border-color: #60a5fa;
  background: rgba(96, 165, 250, 0.05);
}

/* line 775, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini-link:hover .read-more-arrow-absolute {
  color: #60a5fa;
}

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

/* line 785, 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 797, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-1 {
  border-left: 4px solid #ef4444;
  background: rgba(239, 68, 68, 0.05);
}

/* line 798, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-2 {
  border-left: 4px solid #f97316;
  background: rgba(249, 115, 22, 0.05);
}

/* line 799, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-3 {
  border-left: 4px solid #cc903c;
  background: rgba(204, 144, 60, 0.05);
}

/* line 800, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-4 {
  border-left: 4px solid #22c55e;
  background: rgba(34, 197, 94, 0.03);
}

/* line 801, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini.defcon-level-5 {
  border-left: 4px solid #22c55e;
  background: rgba(34, 197, 94, 0.03);
}

/* line 803, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 808, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-emoji {
  font-size: 1.1rem;
}

/* line 809, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-label {
  font-size: 0.8rem;
  color: #94a3b8;
}

/* line 810, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value {
  font-size: 0.85rem;
  font-weight: 600;
}

/* line 814, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-1 {
  color: #ef4444;
}

/* line 815, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-2 {
  color: #f97316;
}

/* line 816, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-3 {
  color: #cc903c;
}

/* line 817, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-4 {
  color: #22c55e;
}

/* line 818, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-defcon-item .mini-value.defcon-value-5 {
  color: #22c55e;
}

/* line 823, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 828, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .mini-emoji {
  font-size: 1.1rem;
}

/* line 829, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .mini-label {
  font-size: 0.8rem;
  color: #94a3b8;
}

/* line 831, 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 839, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

/* line 845, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-percentage {
  font-size: 0.75rem;
  font-weight: 600;
  min-width: 28px;
}

/* line 852, 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 862, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge i {
  font-size: 0.55rem;
}

/* line 864, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-normal {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 868, 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 872, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-elevated {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 876, 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 879, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter .pizza-status-badge.status-critical i {
  animation: pulse 1.5s infinite;
}

/* line 884, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-normal .pizza-bar-fill {
  background: #22c55e;
}

/* line 885, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-normal .pizza-percentage {
  color: #22c55e;
}

/* line 888, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-moderate .pizza-bar-fill {
  background: #22c55e;
}

/* line 889, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-moderate .pizza-percentage {
  color: #22c55e;
}

/* line 892, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-elevated .pizza-bar-fill {
  background: #cc903c;
}

/* line 893, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-elevated .pizza-percentage {
  color: #cc903c;
}

/* line 896, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-critical .pizza-bar-fill {
  background: #ef4444;
}

/* line 897, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-pizza-meter.pizza-critical .pizza-percentage {
  color: #ef4444;
}

/* line 901, 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 911, app/assets/stylesheets/geopolitical.scss */
.geopolitical-mini .mini-alert-critical i {
  animation: pulse 1.5s infinite;
}

/* line 914, 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 926, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini {
    padding: 0.4rem 0.6rem;
  }
  /* line 931, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini > a > .d-flex, .geopolitical-mini > div > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }
  /* line 937, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 940, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 941, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-label {
    font-size: 0.6rem;
  }
  /* line 942, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-value {
    font-size: 0.7rem;
  }
  /* line 945, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 948, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 949, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-label {
    font-size: 0.6rem;
  }
  /* line 950, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-bar-container {
    width: 35px;
    height: 5px;
  }
  /* line 951, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-percentage {
    font-size: 0.55rem;
    min-width: 20px;
  }
  /* line 952, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge {
    padding: 0.08rem 0.2rem;
    font-size: 0.5rem;
  }
  /* line 955, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge i {
    font-size: 0.4rem;
  }
  /* line 959, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-alert-critical {
    padding: 0.15rem 0.3rem;
    font-size: 0.55rem;
    gap: 0.2rem;
  }
  /* line 965, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
}

@media (max-width: 767px) {
  /* line 973, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini {
    padding: 0.35rem 0.5rem;
    border-left-width: 3px !important;
  }
  /* line 979, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini > a > .d-flex, .geopolitical-mini > div > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.4rem !important;
  }
  /* line 985, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item {
    gap: 0.15rem;
    flex-shrink: 0;
  }
  /* line 988, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 989, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-label {
    font-size: 0.65rem;
  }
  /* line 990, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-defcon-item .mini-value {
    font-size: 0.75rem;
  }
  /* line 993, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter {
    gap: 0.15rem;
    flex-shrink: 0;
  }
  /* line 996, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 997, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .mini-label {
    font-size: 0.65rem;
  }
  /* line 998, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-bar-container {
    width: 32px;
    height: 5px;
  }
  /* line 999, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-percentage {
    font-size: 0.65rem;
    min-width: 20px;
  }
  /* line 1000, 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 1004, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-pizza-meter .pizza-status-badge i {
    font-size: 0.5rem;
  }
  /* line 1008, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .mini-alert-critical {
    padding: 0.1rem 0.25rem;
    font-size: 0.6rem;
    gap: 0.15rem;
  }
  /* line 1014, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
  /* line 1016, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .read-more-link-mini i {
    font-size: 0.55rem;
  }
}

/* line 1022, 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 1033, app/assets/stylesheets/geopolitical.scss */
.threat-indicators {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* line 1038, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 1043, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-label {
  font-size: 0.7rem;
  color: #94a3b8;
  text-transform: uppercase;
}

/* line 1044, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 1047, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-critical {
  color: #ef4444;
}

/* line 1048, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-high {
  color: #f97316;
}

/* line 1049, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-elevated {
  color: #cc903c;
}

/* line 1050, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-moderate {
  color: #22c55e;
}

/* line 1051, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-score-display .threat-value.threat-low {
  color: #22c55e;
}

/* line 1055, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display {
  font-size: 0.85rem;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
}

/* line 1060, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display.trend-deteriorating {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1061, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display.trend-stable {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1062, app/assets/stylesheets/geopolitical.scss */
.threat-indicators .threat-trend-display.trend-improving {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1066, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-weight: 600;
}

/* line 1072, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment.sentiment-riskoff {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1073, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment.sentiment-neutral {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1074, app/assets/stylesheets/geopolitical.scss */
.risk-sentiment.sentiment-riskon {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1079, 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 1086, app/assets/stylesheets/geopolitical.scss */
.hotspots-section .section-subtitle i {
  color: #ff6b6b;
}

/* line 1090, app/assets/stylesheets/geopolitical.scss */
.hotspots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

/* line 1096, 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 1103, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-critical {
  border-left-color: #ef4444;
}

/* line 1104, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-high {
  border-left-color: #f97316;
}

/* line 1105, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-moderate {
  border-left-color: #22c55e;
}

/* line 1106, app/assets/stylesheets/geopolitical.scss */
.hotspot-card.hotspot-low {
  border-left-color: #22c55e;
}

/* line 1108, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1114, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-region {
  font-weight: 600;
  font-size: 0.95rem;
}

/* line 1115, 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 1122, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.critical {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 1123, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.high {
  background: rgba(249, 115, 22, 0.2);
  color: #f97316;
}

/* line 1124, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.moderate {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1125, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-header .hotspot-level.low {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 1129, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-concern {
  font-size: 0.85rem;
  color: #94a3b8;
  margin: 0.5rem 0;
  line-height: 1.5;
}

/* line 1136, 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 1143, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-actors {
  color: #94a3b8;
}

/* line 1144, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation {
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

/* line 1148, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation.escalation-high {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 1149, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation.escalation-medium {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1150, app/assets/stylesheets/geopolitical.scss */
.hotspot-card .hotspot-footer .hotspot-escalation.escalation-low {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1156, app/assets/stylesheets/geopolitical.scss */
.tension-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1161, app/assets/stylesheets/geopolitical.scss */
.tension-meta .tension-score {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 1168, app/assets/stylesheets/geopolitical.scss */
.tension-incident {
  font-size: 0.75rem;
  color: #ff6b6b;
  margin: 0.3rem 0;
  font-style: italic;
}

/* line 1174, app/assets/stylesheets/geopolitical.scss */
.tension-incident i {
  margin-right: 0.3rem;
}

/* line 1177, app/assets/stylesheets/geopolitical.scss */
.tension-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.5rem;
}

/* line 1183, app/assets/stylesheets/geopolitical.scss */
.tension-footer .tension-triggers {
  font-size: 0.7rem;
  color: #cc903c;
  cursor: help;
}

/* line 1191, app/assets/stylesheets/geopolitical.scss */
.event-market {
  font-size: 0.75rem;
  color: #cc903c;
  margin: 0.3rem 0;
}

/* line 1196, app/assets/stylesheets/geopolitical.scss */
.event-market i {
  margin-right: 0.3rem;
}

/* line 1199, app/assets/stylesheets/geopolitical.scss */
.event-actors {
  font-size: 0.7rem;
  color: #94a3b8;
  display: block;
  margin-top: 0.3rem;
}

/* line 1208, 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 1214, 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 1219, 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 1225, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-name {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 1226, 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 1232, 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 1233, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-economic {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 1234, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-cyber {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 1235, 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 1236, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-header .risk-category.category-energy {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 1240, 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 1247, app/assets/stylesheets/geopolitical.scss */
.risk-matrix-card .risk-matrix-item .risk-matrix-footer {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

/* line 1252, 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 1257, 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 1258, 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 1259, 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(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1263, 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 1269, 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 1294, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.85rem;
}

/* line 1303, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item:last-child {
  border-bottom: none;
}

/* line 1305, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-name {
  font-weight: 600;
  color: #f7f6f4;
  min-width: 96px;
}

/* line 1311, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-exposure,
.geopolitical-section .sector-item .sector-upside {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 6px;
  flex-shrink: 0;
}

/* line 1324, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-exposure.exposure-high {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}

/* line 1325, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-exposure.exposure-medium {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 1326, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-exposure.exposure-low {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

/* line 1331, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-upside.upside-high {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

/* line 1332, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-upside.upside-medium {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 1333, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-upside.upside-low {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}

/* line 1336, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .sector-item .sector-reason {
  color: #94a3b8;
  font-size: 0.8rem;
  line-height: 1.45;
  flex: 1 1 100%;
}

/* line 1344, app/assets/stylesheets/geopolitical.scss */
.geopolitical-section .row > [class*="col-"] > h6 {
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 1356, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-group {
  margin-bottom: 1rem;
}

/* line 1359, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-group h6 {
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}

/* line 1362, 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 1370, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-name {
  font-weight: 600;
  min-width: 80px;
}

/* line 1371, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction {
  font-size: 0.75rem;
}

/* line 1374, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction.direction-up {
  color: #22c55e;
}

/* line 1375, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction.direction-down {
  color: #ef4444;
}

/* line 1376, app/assets/stylesheets/geopolitical.scss */
.commodities-card .impact-item .impact-direction.direction-stable {
  color: #94a3b8;
}

/* line 1378, 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 1384, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1390, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item {
  padding: 0.75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* line 1395, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-topic {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.3rem;
}

/* line 1401, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}

/* line 1407, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-meta .polymarket-prob {
  font-size: 1rem;
  font-weight: 700;
  color: #cc903c;
}

/* line 1413, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-meta .polymarket-trend {
  font-size: 0.9rem;
}

/* line 1416, app/assets/stylesheets/geopolitical.scss */
.polymarket-card .polymarket-item .polymarket-relevance {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
}

/* line 1426, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1432, 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 #e0bc8a;
}

/* line 1438, 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 1444, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-header .calendar-event {
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 1445, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-header .calendar-date {
  font-size: 0.75rem;
  color: #e0bc8a;
}

/* line 1448, app/assets/stylesheets/geopolitical.scss */
.calendar-card .calendar-item .calendar-significance {
  font-size: 0.8rem;
  color: #94a3b8;
  margin: 0;
}

/* line 1458, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 1463, 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 1471, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list li:last-child {
  border-bottom: none;
}

/* line 1473, app/assets/stylesheets/geopolitical.scss */
.intel-card .intel-list li i {
  color: #e0bc8a;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 1484, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  /* line 1489, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner .defcon-level-display {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1494, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner .threat-indicators {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 1499, app/assets/stylesheets/geopolitical.scss */
  .defcon-banner .defcon-meta {
    flex-wrap: wrap;
    justify-content: center;
  }
  /* line 1505, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-summary-card {
    flex-direction: column;
    text-align: center;
  }
  /* line 1509, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-summary-card .summary-icon {
    margin: 0 auto;
  }
  /* line 1514, app/assets/stylesheets/geopolitical.scss */
  .hotspots-grid {
    grid-template-columns: 1fr;
  }
  /* line 1518, app/assets/stylesheets/geopolitical.scss */
  .risk-matrix-grid {
    grid-template-columns: 1fr !important;
  }
  /* line 1525, app/assets/stylesheets/geopolitical.scss */
  .geopolitical-mini .d-flex {
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 0.4rem !important;
  }
}

/* line 1536, app/assets/stylesheets/geopolitical.scss */
.active-crises-section {
  margin-bottom: 1.5rem;
}

/* line 1539, 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: #f7f6f4;
}

/* line 1548, app/assets/stylesheets/geopolitical.scss */
.active-crises-section .section-subtitle .badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
}

/* line 1554, app/assets/stylesheets/geopolitical.scss */
.active-crises-section .crises-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 1561, 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 1568, app/assets/stylesheets/geopolitical.scss */
.crisis-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* line 1574, 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 1578, 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 1582, app/assets/stylesheets/geopolitical.scss */
.crisis-card.crisis-elevated {
  border-left: 4px solid #cc903c;
}

/* line 1585, app/assets/stylesheets/geopolitical.scss */
.crisis-card.crisis-moderate {
  border-left: 4px solid #60a5fa;
}

/* line 1589, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1595, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-emoji {
  font-size: 1.5rem;
}

/* line 1599, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

/* line 1605, 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 1612, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity {
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 1616, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-critical {
  color: #ef4444;
}

/* line 1617, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-high {
  color: #f97316;
}

/* line 1618, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-elevated {
  color: #cc903c;
}

/* line 1619, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-meta .crisis-severity.severity-moderate {
  color: #60a5fa;
}

/* line 1623, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-header .crisis-date {
  font-size: 0.7rem;
  color: #94a3b8;
}

/* line 1629, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 0.5rem;
}

/* line 1636, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-description {
  font-size: 0.8rem;
  color: #94a3b8;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

/* line 1643, 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 1649, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-impact .impact-label {
  font-size: 0.7rem;
  color: #94a3b8;
  display: block;
  margin-bottom: 0.25rem;
}

/* line 1656, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-impact .impact-text {
  font-size: 0.8rem;
  color: #f7f6f4;
}

/* line 1662, app/assets/stylesheets/geopolitical.scss */
.crisis-card .crisis-sectors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 1667, 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: 600;
}

/* line 1679, 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 1685, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 1691, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header .crisis-mini-icon {
  font-size: 1rem;
}

/* line 1695, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header .crisis-mini-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #f7f6f4;
}

/* line 1701, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-header .crisis-mini-badge {
  margin-left: auto;
  background: #ef4444;
  color: #f7f6f4;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
}

/* line 1713, 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 1720, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item:last-child {
  border-bottom: none;
}

/* line 1722, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-emoji {
  font-size: 0.85rem;
}

/* line 1726, 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 1735, 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 1739, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity.sev-5 {
  color: #ef4444;
}

/* line 1740, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity.sev-4 {
  color: #f97316;
}

/* line 1741, app/assets/stylesheets/geopolitical.scss */
.crisis-mini-widget .crisis-mini-list .crisis-mini-item .crisis-mini-severity.sev-3 {
  color: #cc903c;
}

@media (max-width: 768px) {
  /* line 1749, app/assets/stylesheets/geopolitical.scss */
  .crises-grid {
    grid-template-columns: 1fr !important;
  }
  /* line 1753, app/assets/stylesheets/geopolitical.scss */
  .crisis-card {
    padding: 0.75rem;
  }
  /* line 1756, app/assets/stylesheets/geopolitical.scss */
  .crisis-card .crisis-header {
    flex-wrap: wrap;
  }
}

/* line 1768, app/assets/stylesheets/geopolitical.scss */
.macro-events-banner .macro-event-alert {
  border-left-width: 4px !important;
}

/* line 1771, 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 1776, app/assets/stylesheets/geopolitical.scss */
.macro-events-banner .macro-event-alert .crisis-emoji-large {
  font-size: 1.5rem;
  margin-top: 2px;
}

/* line 1783, 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 1799, 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 1805, app/assets/stylesheets/geopolitical.scss */
.market-intel-card h5 {
  color: #f7f6f4;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 1812, app/assets/stylesheets/geopolitical.scss */
.market-intel-card h5 .badge {
  font-size: 0.65rem;
  padding: 0.25rem 0.5rem;
}

/* line 1818, 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 1828, app/assets/stylesheets/geopolitical.scss */
.intel-summary {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 0.5rem;
}

/* line 1834, 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 1844, 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 1850, 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 1856, app/assets/stylesheets/geopolitical.scss */
.intel-summary .risk-sentiment.risk-neutral {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 1863, app/assets/stylesheets/geopolitical.scss */
.intel-summary .intel-text {
  color: #f7f6f4;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

/* line 1871, app/assets/stylesheets/geopolitical.scss */
.commodity-list, .currency-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 1877, 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 1887, 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: #f7f6f4;
}

/* line 1892, app/assets/stylesheets/geopolitical.scss */
.commodity-item .commodity-price, .currency-item .commodity-price {
  color: #60a5fa;
  font-weight: 600;
}

/* line 1897, 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 1902, 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 1907, 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 1912, 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 1918, 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 1926, app/assets/stylesheets/geopolitical.scss */
.polymarket-note {
  opacity: 0.7;
  font-style: italic;
}

/* line 1932, 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 1938, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 1944, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-icon {
  font-size: 2rem;
}

/* line 1949, app/assets/stylesheets/geopolitical.scss */
.no-crisis-card .no-crisis-text h6 {
  color: #f7f6f4;
  margin-bottom: 0.25rem;
  font-size: 0.95rem;
}

/* line 1955, 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 1968, app/assets/stylesheets/geopolitical.scss */
.geopolitical-map-section {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 1973, 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 1981, 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 2000, 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 2014, 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 2014, app/assets/stylesheets/geopolitical.scss */
  .geo-map-header {
    padding: 1rem 1.25rem;
    flex-wrap: nowrap;
  }
}

/* line 2031, 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 2031, app/assets/stylesheets/geopolitical.scss */
  .geo-map-header h5 {
    font-size: 0.95rem;
    gap: 0.5rem;
    letter-spacing: 1px;
  }
}

/* line 2048, app/assets/stylesheets/geopolitical.scss */
.geo-map-header h5 i {
  color: #60a5fa;
}

/* line 2053, 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 2053, app/assets/stylesheets/geopolitical.scss */
  .geo-map-header .map-status {
    gap: 0.75rem;
    font-size: 0.75rem;
  }
}

/* line 2065, app/assets/stylesheets/geopolitical.scss */
.geo-map-header .map-status .status-indicator {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 2070, 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 2086, app/assets/stylesheets/geopolitical.scss */
.geo-map-container {
  height: 280px;
  position: relative;
  z-index: 1;
}

@media (min-width: 576px) {
  /* line 2086, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: 320px;
  }
}

@media (min-width: 768px) {
  /* line 2086, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: 380px;
  }
}

@media (min-width: 992px) {
  /* line 2086, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: 420px;
  }
}

@media (min-width: 1200px) {
  /* line 2086, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    height: auto;
    min-height: 480px;
    flex: 1;
  }
}

@media (min-width: 1400px) {
  /* line 2086, app/assets/stylesheets/geopolitical.scss */
  .geo-map-container {
    min-height: 520px;
  }
}

/* line 2119, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-container {
  background: #0f172a;
  font-family: inherit;
}

/* line 2124, 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 2128, 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 2133, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-control-zoom a:hover {
  background: rgba(96, 165, 250, 0.2) !important;
}

/* line 2139, 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 2146, app/assets/stylesheets/geopolitical.scss */
.geo-map-container .leaflet-popup-content {
  margin: 0.75rem;
  color: #f7f6f4;
}

/* line 2151, 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 2159, app/assets/stylesheets/geopolitical.scss */
.geo-crisis-marker {
  background: transparent;
  border: none;
}

/* line 2164, app/assets/stylesheets/geopolitical.scss */
.geo-marker-inner {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f7f6f4;
  font-size: 12px;
  position: relative;
}

/* line 2175, app/assets/stylesheets/geopolitical.scss */
.geo-marker-inner i {
  position: relative;
  z-index: 2;
}

/* line 2180, 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 2201, app/assets/stylesheets/geopolitical.scss */
.geo-market-marker {
  background: transparent;
  border: none;
}

/* line 2206, 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: #f7f6f4;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* line 2218, app/assets/stylesheets/geopolitical.scss */
.geo-market-inner .market-abbr {
  display: block;
}

/* line 2224, app/assets/stylesheets/geopolitical.scss */
.geo-popup {
  min-width: 150px;
}

/* line 2227, app/assets/stylesheets/geopolitical.scss */
.geo-popup h6 {
  color: #f7f6f4;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 2234, app/assets/stylesheets/geopolitical.scss */
.geo-popup p {
  color: #94a3b8;
  font-size: 0.8rem;
  margin: 0;
}

/* line 2241, app/assets/stylesheets/geopolitical.scss */
.geo-popup.crisis-popup .severity {
  color: #ef4444;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 2247, app/assets/stylesheets/geopolitical.scss */
.geo-popup.crisis-popup .description {
  font-size: 0.75rem;
}

/* line 2252, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup {
  text-align: center;
}

/* line 2255, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 2260, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.positive {
  color: #22c55e;
}

/* line 2261, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.negative {
  color: #ef4444;
}

/* line 2262, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.neutral {
  color: #94a3b8;
}

/* line 2265, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .market-closed-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.7;
}

/* line 2278, 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 2278, app/assets/stylesheets/geopolitical.scss */
  .geo-map-legend {
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    justify-content: flex-start;
  }
}

/* line 2297, 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 2297, app/assets/stylesheets/geopolitical.scss */
  .legend-item {
    gap: 0.4rem;
    font-size: 0.7rem;
  }
}

/* line 2312, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 2317, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.critical {
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
}

/* line 2318, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.high {
  background: #f97316;
  box-shadow: 0 0 8px #f97316;
}

/* line 2319, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.elevated {
  background: #cc903c;
  box-shadow: 0 0 8px #cc903c;
}

/* line 2320, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.market {
  background: transparent;
  border: 2px solid #60a5fa;
  border-radius: 2px;
}

/* line 2323, 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 2331, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon.market-up {
  color: #22c55e;
}

/* line 2332, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon.market-down {
  color: #ef4444;
}

/* line 2337, 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 2352, 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 2371, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: stretch;
}

/* line 2378, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column {
  flex: 4;
  min-width: 0;
  order: 1;
}

/* line 2383, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column .geo-map-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 2388, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column .geo-map-card .geo-map-container {
  flex: 1;
  min-height: 400px;
}

/* line 2395, 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 2406, 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 2413, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #f7f6f4;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 2422, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 i {
  font-size: 0.85rem;
}

/* line 2426, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 .badge {
  font-size: 0.65rem;
  padding: 0.2rem 0.4rem;
}

/* line 2434, 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 2448, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar {
  width: 6px;
}

/* line 2451, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.5);
}

/* line 2454, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar-thumb {
  background: rgba(239, 68, 68, 0.4);
  border-radius: 3px;
}

/* line 2461, 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 2468, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:hover {
  background: rgba(30, 41, 59, 0.8);
  transform: translateX(2px);
}

/* line 2473, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-critical {
  border-left: 3px solid #ef4444;
  background: rgba(239, 68, 68, 0.1);
}

/* line 2477, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-high {
  border-left: 3px solid #f97316;
  background: rgba(249, 115, 22, 0.1);
}

/* line 2481, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-elevated {
  border-left: 3px solid #cc903c;
  background: rgba(204, 144, 60, 0.1);
}

/* line 2485, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-moderate {
  border-left: 3px solid #60a5fa;
  background: rgba(59, 130, 246, 0.1);
}

/* line 2493, 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 2499, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-emoji {
  font-size: 1rem;
}

/* line 2503, 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 2509, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-critical {
  background: #ef4444;
  color: #f7f6f4;
}

/* line 2510, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-high {
  background: #f97316;
  color: #f7f6f4;
}

/* line 2511, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-elevated {
  background: #cc903c;
  color: #1a1a2e;
}

/* line 2514, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-moderate {
  background: #60a5fa;
  color: #0b1220;
}

/* line 2518, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: #f7f6f4;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}

/* line 2526, 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 2533, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-regions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 2538, 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 2551, 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 2564, app/assets/stylesheets/geopolitical.scss */
.no-crisis-compact .no-crisis-emoji {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

/* line 2570, 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 2583, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout {
    flex-direction: column;
  }
  /* line 2586, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout .map-column {
    order: 1;
    flex: none;
    width: 100%;
  }
  /* line 2592, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout .crises-column {
    order: 2;
    flex: none;
    width: 100%;
    max-width: none;
    min-width: auto;
  }
  /* line 2601, app/assets/stylesheets/geopolitical.scss */
  .crises-sidebar-header {
    border-radius: 12px 12px 0 0;
  }
  /* line 2605, 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 2615, app/assets/stylesheets/geopolitical.scss */
  .crises-list::-webkit-scrollbar {
    height: 6px;
    width: auto;
  }
  /* line 2621, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact {
    flex: 0 0 auto;
    width: 280px;
    min-width: 250px;
  }
  /* line 2627, app/assets/stylesheets/geopolitical.scss */
  .no-crisis-compact {
    border-radius: 0 0 12px 12px;
  }
}

@media (max-width: 767px) {
  /* line 2637, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout {
    gap: 0.75rem;
  }
  /* line 2641, app/assets/stylesheets/geopolitical.scss */
  .crises-list {
    flex-direction: column;
    flex-wrap: nowrap;
    overflow-x: visible;
    max-height: 400px;
    overflow-y: auto;
  }
  /* line 2649, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact {
    width: 100%;
    min-width: auto;
  }
  /* line 2654, app/assets/stylesheets/geopolitical.scss */
  .crises-sidebar-header h5 {
    font-size: 0.85rem;
  }
}

/* line 2665, 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 2671, 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 2683, 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 2695, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .sector-item {
  border-bottom-color: var(--border-color);
}

/* line 2699, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .impact-item {
  border-bottom-color: var(--border-color);
}

/* line 2704, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .gauge-bg {
  stroke: rgba(0, 0, 0, 0.12) !important;
}

/* line 2708, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-bar-container {
  background: rgba(0, 0, 0, 0.1);
}

/* line 2712, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .activity-bar {
  background: rgba(0, 0, 0, 0.1);
}

/* line 2717, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizzacon-badge {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 2723, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .recommendations-list li {
  border-bottom-color: var(--border-color);
}

/* line 2727, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .intel-card .intel-list li {
  border-bottom-color: var(--border-color);
}

/* line 2731, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-mini-list .crisis-mini-item {
  border-bottom-color: var(--border-color);
}

/* line 2736, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-index-section {
  border-top-color: var(--border-color);
}

/* line 2741, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .pizza-disclaimer {
  background: var(--bg-input);
}

/* line 2746, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-impact {
  background: var(--bg-input);
}

/* line 2751, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .intel-summary {
  background: var(--bg-input);
}

/* line 2756, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .risk-matrix-item .risk-sectors .sector-tag {
  background: var(--bg-input);
  color: var(--text-muted);
}

/* line 2761, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card .crisis-sectors .sector-tag {
  background: rgba(204, 144, 60, 0.12);
}

/* line 2766, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2770, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* line 2774, 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 2777, 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 2783, 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 2789, 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 2795, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .market-intel-card {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.05), var(--bg-card-solid));
  border-color: rgba(204, 144, 60, 0.2);
}

/* line 2801, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geopolitical-mini-link:hover .geopolitical-mini {
  background: rgba(204, 144, 60, 0.04);
  border-color: var(--accent-primary);
}

/* line 2807, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-card {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2812, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-card::before {
  display: none;
}

/* line 2816, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-card::after {
  border-color: var(--border-color);
}

/* line 2821, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-header {
  background: var(--bg-input);
  border-bottom-color: var(--border-color);
}

/* line 2826, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-legend {
  background: var(--bg-input);
  border-top-color: var(--border-color);
}

/* line 2833, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-container {
  background: #d4dde8;
}

/* line 2837, 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 2842, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .geo-map-container .leaflet-control-zoom a:hover {
  background: var(--bg-input) !important;
}

/* line 2847, 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 2853, 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 2860, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-sidebar-header {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 2865, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-list {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 2869, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-list::-webkit-scrollbar-track {
  background: var(--bg-input);
}

/* line 2873, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crises-list::-webkit-scrollbar-thumb {
  background: rgba(239, 68, 68, 0.3);
}

/* line 2878, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 2882, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact:hover {
  background: var(--bg-card-solid);
}

/* line 2886, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-critical {
  background: rgba(239, 68, 68, 0.06);
}

/* line 2887, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-high {
  background: rgba(249, 115, 22, 0.06);
}

/* line 2888, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-elevated {
  background: rgba(204, 144, 60, 0.06);
}

/* line 2889, app/assets/stylesheets/geopolitical.scss */
[data-theme="light"] .crisis-card-compact.crisis-moderate {
  background: rgba(59, 130, 246, 0.06);
}

/* line 2892, 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 2898, 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 2905, 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 2912, 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 2916, 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 2931, app/assets/stylesheets/geopolitical.scss */
.osiris-map-wrapper {
  position: relative;
  width: 100%;
  min-height: 550px;
  border-radius: 8px;
  overflow: visible;
  background: #000615;
}

/* line 2940, app/assets/stylesheets/geopolitical.scss */
.osiris-map-wrapper:fullscreen .osiris-iframe {
  height: 100vh;
}

/* line 2946, app/assets/stylesheets/geopolitical.scss */
.osiris-iframe {
  width: 100%;
  height: 550px;
  border: none;
  border-radius: 8px;
  background: #000615;
  display: block;
}

/* line 2955, 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 2964, 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 2978, app/assets/stylesheets/geopolitical.scss */
.osiris-btn:hover {
  background: rgba(30, 41, 59, 0.95);
  color: #f7f6f4;
  border-color: rgba(96, 165, 250, 0.4);
}

/* line 2984, app/assets/stylesheets/geopolitical.scss */
.osiris-btn i {
  font-size: 0.75rem;
}

/* line 2990, app/assets/stylesheets/geopolitical.scss */
.status-osiris .dot-osiris {
  background: #60a5fa;
  box-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
}

/* line 2994, app/assets/stylesheets/geopolitical.scss */
.status-osiris span:last-child {
  color: #60a5fa;
  font-weight: 600;
}

/* line 3002, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-aviation {
  background: #60a5fa;
}

/* line 3003, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-conflict {
  background: #ef4444;
}

/* line 3004, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-seismic {
  background: #cc903c;
}

/* line 3005, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-fires {
  background: #f97316;
}

/* line 3006, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-gdelt {
  background: #e0bc8a;
}

/* line 3010, 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 3016, 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 3025, app/assets/stylesheets/geopolitical.scss */
.osiris-enrichment-panel h6 i {
  font-size: 0.7rem;
}

/* line 3029, app/assets/stylesheets/geopolitical.scss */
.osiris-feed-items {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 3035, 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 3043, 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 3053, app/assets/stylesheets/geopolitical.scss */
  .osiris-iframe {
    height: 350px;
  }
  /* line 3057, app/assets/stylesheets/geopolitical.scss */
  .osiris-map-wrapper {
    min-height: 350px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  /* line 3063, app/assets/stylesheets/geopolitical.scss */
  .osiris-iframe {
    height: 420px;
  }
}

/* line 3072, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact {
  cursor: pointer;
  transition: transform 0.15s, border-color 0.15s;
}

@media (hover: hover) {
  /* line 3083, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact:hover {
    transform: translateX(2px);
    border-top-color: rgba(255, 255, 255, 0.15);
    border-right-color: rgba(255, 255, 255, 0.15);
    border-bottom-color: rgba(255, 255, 255, 0.15);
  }
}

/* line 3091, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:active {
  transform: scale(0.99);
}

/* line 3093, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: 2px;
}

/* line 3106, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(3, 7, 18, 0.72);
  opacity: 0;
  transition: opacity 0.18s ease;
}

/* line 3114, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet-backdrop.visible {
  opacity: 1;
}

/* line 3117, app/assets/stylesheets/geopolitical.scss */
body.crisis-sheet-open {
  overflow: hidden;
}

/* line 3121, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10001;
  max-height: 82vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #111825;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.55);
  transform: translateY(100%);
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
}

/* line 3138, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet.visible {
  transform: translateY(0);
}

/* line 3140, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-sheet-grabber {
  width: 38px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.22);
  margin: 10px auto 4px;
}

/* line 3148, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-header {
  position: relative;
  padding: 12px 56px 12px 17px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 3154, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-severity {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

/* line 3161, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-title {
  margin-top: 3px;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.35;
  color: #f7f6f4;
}

/* line 3169, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-sheet-close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  color: #94a3b8;
  font-size: 15px;
  cursor: pointer;
}

/* line 3185, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-sheet-close:active {
  transform: scale(0.94);
}

/* line 3188, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-body {
  padding: 14px 17px 6px;
}

/* line 3191, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-body p {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(248, 250, 252, 0.78);
}

/* line 3199, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-regions,
.crisis-sheet .crisis-tooltip-market {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #94a3b8;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* line 3210, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-regions i,
.crisis-sheet .crisis-tooltip-market i {
  margin-top: 3px;
  font-size: 11px;
  color: #60a5fa;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  /* line 3220, app/assets/stylesheets/geopolitical.scss */
  .crisis-sheet,
.crisis-sheet-backdrop,
.crisis-tooltip-popup {
    transition: none;
  }
}

/* line 3227, 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 3241, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup.visible {
  opacity: 1;
  transform: translateY(0);
}

/* line 3246, 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 3252, 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 3260, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #f7f6f4;
  line-height: 1.3;
}

/* line 3267, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-body {
  padding: 0.75rem 1rem;
}

/* line 3270, 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 3278, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-regions {
  font-size: 0.68rem;
  color: #60a5fa;
  margin-bottom: 0.4rem;
}

/* line 3283, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-regions i {
  margin-right: 0.3rem;
  font-size: 0.6rem;
}

/* line 3286, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-market {
  font-size: 0.68rem;
  color: #cc903c;
  line-height: 1.4;
}

/* line 3291, 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: #cc903c;
  background: rgba(204, 144, 60, 0.1);
}

/* line 49, app/assets/stylesheets/events.scss */
.events-cell .events-pictos i.event-others {
  color: #e0bc8a;
  background: rgba(224, 188, 138, 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: #cc903c;
}

/* line 218, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-revenue i {
  color: #cc903c;
}

/* line 219, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-revenue strong {
  color: #cc903c;
}

/* line 222, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-others {
  border-left-color: #e0bc8a;
}

/* line 225, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-others i {
  color: #e0bc8a;
}

/* line 226, app/assets/stylesheets/events.scss */
.events-analysis-container .event-analysis-item.event-others strong {
  color: #e0bc8a;
}

/* 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(204, 144, 60, 0.15);
}

/* line 250, app/assets/stylesheets/events.scss */
[data-theme="light"] .events-cell .events-pictos i.event-others {
  background: rgba(224, 188, 138, 0.15);
}
/* line 4, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  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(204, 144, 60, 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(204, 144, 60, 0.3);
  }
  50% {
    box-shadow: 0 4px 16px rgba(204, 144, 60, 0.5);
  }
}

/* line 33, app/assets/stylesheets/account.scss */
.account-page {
  background: #000615;
  min-height: 100vh;
  color: #f7f6f4;
  font-family: 'Montserrat', -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 72, 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: #000615;
}

@media (max-width: 1023px) {
  /* line 72, app/assets/stylesheets/account.scss */
  .account-settings-page {
    overflow-y: visible !important;
    min-height: auto !important;
  }
}

/* line 88, 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 104, app/assets/stylesheets/account.scss */
.stocks-section,
.stocks-section .row,
.stocks-section #portfolio-management,
.stocks-section .tab-content,
.stocks-section .tab-pane,
.stocks-section .account-page-content,
.stocks-section .account-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 124, 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 132, 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 138, 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 142, 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 146, 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 155, app/assets/stylesheets/account.scss */
.account-page .tab-content,
.stocks-section .tab-content {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* line 163, 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,
.stocks-section .account-page-content,
.stocks-section .account-pane {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}

/* line 179, app/assets/stylesheets/account.scss */
.account-header {
  background: rgba(17, 24, 37, 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 190, 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(204, 144, 60, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

/* line 203, app/assets/stylesheets/account.scss */
.account-title, .dashboard-title {
  color: #f7f6f4;
  font-weight: 700;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}

/* line 211, app/assets/stylesheets/account.scss */
.account-subtitle, .dashboard-subtitle {
  color: #94a3b8;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}

/* line 219, app/assets/stylesheets/account.scss */
.account-tabs {
  background: rgba(27, 35, 51, 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 228, 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 237, 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: 600;
}

/* line 248, 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 256, app/assets/stylesheets/account.scss */
.account-tabs .nav-link.active {
  color: #f7f6f4 !important;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
  border-color: rgba(204, 144, 60, 0.4) !important;
  border-bottom: 2px solid #cc903c !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* line 264, 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 2px 2px 0 0;
  box-shadow: 0 0 8px rgba(204, 144, 60, 0.6);
}

/* line 279, app/assets/stylesheets/account.scss */
.account-tabs .nav-link:hover {
  color: #f7f6f4;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

/* line 285, app/assets/stylesheets/account.scss */
.account-tabs .nav-link.active {
  color: #f7f6f4;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  box-shadow: 0 4px 15px rgba(204, 144, 60, 0.3);
  position: relative;
}

/* line 291, 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(17, 24, 37, 0.85);
  border-radius: 0;
}

/* line 308, 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 320, app/assets/stylesheets/account.scss */
.section-header {
  margin-bottom: 2rem;
}

/* line 324, app/assets/stylesheets/account.scss */
.section-title h2 {
  color: #f7f6f4;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 331, app/assets/stylesheets/account.scss */
.form-group {
  background: rgba(27, 35, 51, 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 339, app/assets/stylesheets/account.scss */
.form-group:hover {
  border-color: rgba(204, 144, 60, 0.3);
}

/* line 345, 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 355, 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 362, 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 369, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content h3 {
  font-size: 1.1rem !important;
  margin-bottom: 0.75rem !important;
}

/* line 374, app/assets/stylesheets/account.scss */
.preferences-form .summary-card .card-content .row {
  margin-bottom: 0 !important;
}

/* line 378, 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 382, 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 387, 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 393, 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 401, app/assets/stylesheets/account.scss */
.form-label {
  color: #f7f6f4;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 407, app/assets/stylesheets/account.scss */
.form-control, .form-select {
  background: rgba(27, 35, 51, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #f7f6f4;
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 414, app/assets/stylesheets/account.scss */
.form-control:focus, .form-select:focus {
  background: rgba(27, 35, 51, 0.9);
  border-color: #cc903c;
  box-shadow: 0 0 0 0.2rem rgba(204, 144, 60, 0.25);
  color: #f7f6f4;
}

/* line 421, app/assets/stylesheets/account.scss */
.form-control::placeholder, .form-select::placeholder {
  color: #64748b;
}

/* line 426, app/assets/stylesheets/account.scss */
.form-check-input {
  background-color: rgba(27, 35, 51, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 431, app/assets/stylesheets/account.scss */
.form-check-input:checked {
  background-color: #cc903c;
  border-color: #cc903c;
}

/* line 437, app/assets/stylesheets/account.scss */
.form-check-label {
  color: #f7f6f4;
  font-weight: 600;
}

/* line 443, app/assets/stylesheets/account.scss */
.btn-primary {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  border: none;
  border-radius: 8px;
  padding: 0.75rem 2rem;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 451, app/assets/stylesheets/account.scss */
.btn-primary:hover {
  background: linear-gradient(135deg, #e0bc8a 0%, #cc903c 100%);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(204, 144, 60, 0.3);
}

/* line 458, app/assets/stylesheets/account.scss */
.btn-outline-primary {
  border-color: #cc903c;
  color: #cc903c;
}

/* line 462, app/assets/stylesheets/account.scss */
.btn-outline-primary:hover {
  background: #cc903c;
  border-color: #cc903c;
  color: #f7f6f4;
}

/* line 470, app/assets/stylesheets/account.scss */
.text-muted {
  color: #64748b !important;
}

/* line 474, app/assets/stylesheets/account.scss */
.form-text {
  color: #64748b;
  font-size: 0.875rem;
}

/* line 480, app/assets/stylesheets/account.scss */
.stocks-management {
  background: transparent;
  border: none;
  padding: 0;
}

/* line 487, app/assets/stylesheets/account.scss */
.account-section-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: flex-start;
}

/* line 493, app/assets/stylesheets/account.scss */
.account-section-header h5 {
  font-size: 1rem;
  font-weight: 600;
  color: #f7f6f4;
  text-align: left;
}

/* line 500, app/assets/stylesheets/account.scss */
.account-section-header small {
  font-size: 0.78rem;
}

/* line 505, 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 515, app/assets/stylesheets/account.scss */
.account-section-icon.notif-icon {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
}

/* line 519, app/assets/stylesheets/account.scss */
.account-section-icon.billing-icon {
  background: rgba(224, 188, 138, 0.12);
  color: #e0bc8a;
}

/* line 523, app/assets/stylesheets/account.scss */
.account-section-icon.data-icon {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

/* line 527, app/assets/stylesheets/account.scss */
.account-section-icon.actions-icon {
  background: rgba(100, 116, 139, 0.12);
  color: #94a3b8;
}

/* line 534, app/assets/stylesheets/account.scss */
.notif-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 540, 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 550, app/assets/stylesheets/account.scss */
.notif-item:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

/* line 556, 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 572, app/assets/stylesheets/account.scss */
.notif-item-content {
  flex: 1;
  min-width: 0;
}

/* line 577, app/assets/stylesheets/account.scss */
.notif-item-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #f7f6f4;
  line-height: 1.3;
}

/* line 584, app/assets/stylesheets/account.scss */
.notif-item-desc {
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.3;
}

/* line 591, 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 599, app/assets/stylesheets/account.scss */
.billing-plan-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 606, app/assets/stylesheets/account.scss */
.billing-plan-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #f7f6f4;
}

/* line 612, 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 621, app/assets/stylesheets/account.scss */
.billing-status-badge i {
  font-size: 0.4rem;
}

/* line 623, app/assets/stylesheets/account.scss */
.billing-status-badge.active, .billing-status-badge.billing-status-active {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
}

/* line 627, app/assets/stylesheets/account.scss */
.billing-status-badge.trialing, .billing-status-badge.billing-status-trialing {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
}

/* line 631, 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 637, app/assets/stylesheets/account.scss */
.billing-detail {
  font-size: 0.8rem;
  color: #64748b;
  margin: 0;
}

/* line 642, app/assets/stylesheets/account.scss */
.billing-detail.warning {
  color: #cc903c;
}

/* line 645, app/assets/stylesheets/account.scss */
.billing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 651, app/assets/stylesheets/account.scss */
.account-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* line 658, app/assets/stylesheets/account.scss */
.account-btn-action.account-btn-action {
  font-size: 0.85rem !important;
  padding: 0.5rem 1.2rem !important;
  border-radius: 8px !important;
  font-weight: 600;
  line-height: 1.4;
}

/* line 666, app/assets/stylesheets/account.scss */
.billing-actions.account-btn-group {
  flex-direction: column;
}

/* line 669, app/assets/stylesheets/account.scss */
.billing-actions.account-btn-group > a, .billing-actions.account-btn-group > form {
  width: 100%;
}

/* line 673, app/assets/stylesheets/account.scss */
.billing-actions.account-btn-group .account-btn-action {
  width: 100%;
  text-align: center;
  justify-content: center;
  display: flex;
}

/* line 681, app/assets/stylesheets/account.scss */
.billing-empty-state {
  text-align: left;
  padding: 1.5rem 0;
}

/* line 686, app/assets/stylesheets/account.scss */
.billing-empty-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 237, 78, 0.08));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 696, app/assets/stylesheets/account.scss */
.billing-empty-icon i {
  font-size: 1.1rem;
  color: #ffd700;
}

/* line 702, app/assets/stylesheets/account.scss */
.billing-empty-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 0.25rem;
}

/* line 709, app/assets/stylesheets/account.scss */
.billing-empty-sub {
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 1rem;
}

/* line 716, app/assets/stylesheets/account.scss */
.billing-plan-card-inline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* line 724, app/assets/stylesheets/account.scss */
.account-inline-section {
  padding: 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  height: 100%;
}

/* line 731, app/assets/stylesheets/account.scss */
.account-inline-section .account-section-header {
  gap: 0.6rem;
}

/* line 735, app/assets/stylesheets/account.scss */
.account-inline-section .account-section-icon {
  width: 30px;
  height: 30px;
  font-size: 0.75rem;
}

/* line 741, app/assets/stylesheets/account.scss */
.account-inline-section h6 {
  font-size: 0.85rem;
  font-weight: 600;
}

/* line 748, app/assets/stylesheets/account.scss */
.data-includes-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 754, 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 764, app/assets/stylesheets/account.scss */
.data-includes-item i {
  font-size: 0.7rem;
  color: #cc903c;
  opacity: 0.7;
}

/* line 768, 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: 600;
  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 784, app/assets/stylesheets/account.scss */
.account-action-btn i {
  font-size: 0.8rem;
  opacity: 0.7;
}

/* line 786, app/assets/stylesheets/account.scss */
.account-action-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #f7f6f4;
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 790, app/assets/stylesheets/account.scss */
.account-action-btn:hover i {
  opacity: 1;
}

/* line 793, app/assets/stylesheets/account.scss */
.account-action-btn.warning {
  border-color: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 796, app/assets/stylesheets/account.scss */
.account-action-btn.warning:hover {
  background: rgba(204, 144, 60, 0.08);
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 799, app/assets/stylesheets/account.scss */
.account-action-btn.danger {
  border-color: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 802, 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 807, app/assets/stylesheets/account.scss */
.d-flex.flex-column form:has(.account-action-btn),
.d-flex.flex-column .dropdown:has(.account-action-btn) {
  width: 100%;
}

/* line 810, app/assets/stylesheets/account.scss */
.d-flex.flex-column form:has(.account-action-btn) .account-action-btn,
.d-flex.flex-column .dropdown:has(.account-action-btn) .account-action-btn {
  width: 100%;
}

/* line 814, app/assets/stylesheets/account.scss */
.dropdown > .account-action-btn[data-bs-toggle="dropdown"] {
  position: relative;
}

/* line 817, app/assets/stylesheets/account.scss */
.dropdown > .account-action-btn[data-bs-toggle="dropdown"] .fa-chevron-down {
  position: absolute;
  right: 1rem;
  margin-left: 0 !important;
}

/* line 824, 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 831, app/assets/stylesheets/account.scss */
.stock-card {
  background: rgba(17, 24, 37, 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 840, app/assets/stylesheets/account.scss */
.stock-card:hover {
  border-color: rgba(204, 144, 60, 0.25);
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(204, 144, 60, 0.15);
}

/* line 847, app/assets/stylesheets/account.scss */
.stock-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

/* line 854, app/assets/stylesheets/account.scss */
.stock-info h6 {
  color: #f7f6f4;
  font-weight: 600;
  margin-bottom: 0.25rem;
  margin-right: 1rem;
}

/* line 861, app/assets/stylesheets/account.scss */
.stock-name {
  color: #94a3b8;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

/* line 867, app/assets/stylesheets/account.scss */
.stock-symbol {
  color: #cc903c;
  font-weight: 700;
}

/* line 872, app/assets/stylesheets/account.scss */
.stock-actions .btn {
  padding: 0.375rem 0.75rem;
}

/* line 876, app/assets/stylesheets/account.scss */
.shares-input-group {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

/* line 882, app/assets/stylesheets/account.scss */
.shares-input {
  flex: 1;
}

/* line 887, app/assets/stylesheets/account.scss */
.stock-inputs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
}

/* line 895, app/assets/stylesheets/account.scss */
.position-value-display {
  margin-top: 0.5rem;
  padding: 0.4rem 0.6rem;
  background: rgba(204, 144, 60, 0.08);
  border-radius: 6px;
  border-left: 2px solid rgba(204, 144, 60, 0.4);
}

/* line 902, 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 909, app/assets/stylesheets/account.scss */
.position-value-display small i {
  color: #cc903c;
  font-size: 0.75rem;
}

/* line 914, app/assets/stylesheets/account.scss */
.position-value-display small strong {
  color: #cc903c;
  font-weight: 600;
}

/* line 922, app/assets/stylesheets/account.scss */
.stock-symbol-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 930, app/assets/stylesheets/account.scss */
.crypto-card {
  border-left: none !important;
  position: relative;
  overflow: hidden;
}

/* line 935, app/assets/stylesheets/account.scss */
.crypto-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #cc903c, #cc903c) !important;
  border-radius: 12px 12px 0 0;
}

/* line 946, app/assets/stylesheets/account.scss */
.crypto-card:hover {
  border-color: rgba(204, 144, 60, 0.4) !important;
  box-shadow: 0 20px 50px rgba(204, 144, 60, 0.15) !important;
}

/* line 953, 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 964, app/assets/stylesheets/account.scss */
.asset-type-badge i {
  font-size: 0.6rem;
}

/* line 968, app/assets/stylesheets/account.scss */
.asset-type-badge.asset-type-crypto {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25), rgba(204, 144, 60, 0.15));
  color: #e0bc8a;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 974, app/assets/stylesheets/account.scss */
.asset-type-badge.asset-type-etf {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.25), rgba(224, 188, 138, 0.15));
  color: #c084fc;
  border: 1px solid rgba(224, 188, 138, 0.3);
}

/* line 982, app/assets/stylesheets/account.scss */
.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  color: #94a3b8;
}

/* line 988, app/assets/stylesheets/account.scss */
.empty-icon {
  font-size: 3rem;
  color: #64748b;
  margin-bottom: 1rem;
}

/* line 994, app/assets/stylesheets/account.scss */
.empty-state h3 {
  color: #f7f6f4;
  margin-bottom: 0.5rem;
}

/* line 1000, app/assets/stylesheets/account.scss */
.alert-info {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.2);
  color: #94a3b8;
  border-radius: 12px;
}

/* line 1006, app/assets/stylesheets/account.scss */
.alert-info h6 {
  color: #f7f6f4;
  margin-bottom: 0.75rem;
}

/* line 1011, app/assets/stylesheets/account.scss */
.alert-info ul {
  margin-bottom: 0;
}

/* line 1015, app/assets/stylesheets/account.scss */
.alert-info li {
  margin-bottom: 0.5rem;
}

/* line 1021, app/assets/stylesheets/account.scss */
.stock-limit-warning {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.08) 0%, rgba(224, 188, 138, 0.08) 100%);
  border: 1px solid rgba(224, 188, 138, 0.25);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  color: #f7f6f4;
}

/* line 1028, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-icon {
  color: #e0bc8a;
  font-size: 1.25rem;
  opacity: 0.9;
}

/* line 1035, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-content strong {
  color: #f7f6f4;
  font-size: 0.95rem;
  display: block;
}

/* line 1041, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-content p {
  color: #94a3b8;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* line 1048, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-link {
  color: #cc903c;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1054, app/assets/stylesheets/account.scss */
.stock-limit-warning .alert-link:hover {
  color: #a97832;
  text-decoration: underline;
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* line 1065, app/assets/stylesheets/account.scss */
  .account-header, .dashboard-header {
    padding: 0.75rem 0 !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1071, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1076, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row {
    margin: 0 !important;
  }
  /* line 1080, 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 1086, 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 1095, app/assets/stylesheets/account.scss */
  #account-preferences h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1101, app/assets/stylesheets/account.scss */
  .form-group {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1106, app/assets/stylesheets/account.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }
}

@media (max-width: 767px) {
  /* line 1116, app/assets/stylesheets/account.scss */
  .account-header, .dashboard-header {
    padding: 0.5rem 0 !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1122, 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 1134, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content {
    width: 100% !important;
  }
  /* line 1137, 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 1143, app/assets/stylesheets/account.scss */
  .preferences-form .summary-card .card-content .row.g-2 > [class*="col-"] {
    padding: 0 0.25rem !important;
  }
  /* line 1148, 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 1155, 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 1166, app/assets/stylesheets/account.scss */
  #account-preferences h3 {
    font-size: 0.85rem !important;
    margin-bottom: 0.3rem !important;
  }
  /* line 1172, app/assets/stylesheets/account.scss */
  .preferences-form ~ .row .text-muted,
.row.mb-5 .text-muted {
    font-size: 0.65rem !important;
  }
  /* line 1177, app/assets/stylesheets/account.scss */
  .row.mb-5 {
    margin-bottom: 0.75rem !important;
  }
  /* line 1182, app/assets/stylesheets/account.scss */
  .form-group {
    padding: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1187, app/assets/stylesheets/account.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 1194, app/assets/stylesheets/account.scss */
  #stock-search-form .d-flex {
    flex-direction: column !important;
    gap: 0.5rem !important;
    align-items: stretch !important;
  }
  /* line 1200, app/assets/stylesheets/account.scss */
  #stock-search-form input.form-control {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }
  /* line 1206, 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 1217, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .stock-symbol {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
  }
  /* line 1223, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .stock-name {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }
  /* line 1230, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card small.text-muted {
    font-size: 0.68rem !important;
    line-height: 1.2 !important;
  }
  /* line 1236, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .form-label {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.2rem !important;
  }
  /* line 1243, 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 1250, app/assets/stylesheets/account.scss */
  .stocks-grid .stock-card .position-value-display small {
    font-size: 0.75rem !important;
  }
  /* line 1255, 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 1263, app/assets/stylesheets/account.scss */
  .account-tabs {
    padding: 0.2rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 1267, 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 1273, app/assets/stylesheets/account.scss */
  .account-tabs .nav-link i {
    font-size: 0.8rem !important;
    margin-right: 3px !important;
  }
  /* line 1281, 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 1289, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 1294, 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: 600 !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 1307, app/assets/stylesheets/account.scss */
  .account-nav-tabs .nav-link.active .tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }
  /* line 1314, app/assets/stylesheets/account.scss */
  .form-control, .form-select {
    min-height: 32px !important;
    font-size: 16px !important;
  }
  /* line 1319, app/assets/stylesheets/account.scss */
  .btn {
    min-height: 34px !important;
    font-size: 0.75rem !important;
    padding: 6px 10px !important;
  }
  /* line 1326, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) {
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 1330, 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 1337, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-content h3 {
    font-size: 0.9rem !important;
  }
  /* line 1341, app/assets/stylesheets/account.scss */
  .summary-card:not(.preferences-form .summary-card) .card-content p {
    font-size: 0.75rem !important;
  }
  /* line 1348, app/assets/stylesheets/account.scss */
  .risk-option {
    padding: 8px 6px !important;
    margin-bottom: 4px !important;
  }
  /* line 1352, app/assets/stylesheets/account.scss */
  .risk-option .risk-title {
    font-size: 0.8rem !important;
    margin-bottom: 3px !important;
  }
  /* line 1356, app/assets/stylesheets/account.scss */
  .risk-option .risk-title i {
    font-size: 0.85rem !important;
  }
  /* line 1361, app/assets/stylesheets/account.scss */
  .risk-option .risk-description {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }
  /* line 1368, app/assets/stylesheets/account.scss */
  .checkbox-group {
    gap: 3px !important;
  }
  /* line 1371, app/assets/stylesheets/account.scss */
  .checkbox-group .form-check {
    padding: 8px 6px !important;
    min-height: 34px !important;
  }
  /* line 1375, app/assets/stylesheets/account.scss */
  .checkbox-group .form-check .form-check-label {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }
  /* line 1383, app/assets/stylesheets/account.scss */
  h3.mb-3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 1388, app/assets/stylesheets/account.scss */
  h5 {
    font-size: 0.85rem !important;
  }
  /* line 1393, app/assets/stylesheets/account.scss */
  #portfolio-management h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.4rem !important;
  }
}

/* line 1403, 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(204, 144, 60, 0.15) 0%, rgba(204, 144, 60, 0.25) 100%);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #cc903c;
}

/* line 1415, app/assets/stylesheets/account.scss */
.investor-profile-summary .risk-score-mini i {
  font-size: 0.65rem;
}

/* line 1421, app/assets/stylesheets/account.scss */
.profile-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* line 1428, 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 1437, 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 1443, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-label i {
  margin-right: 0.3rem;
  opacity: 0.7;
}

/* line 1449, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #e2e8f0;
}

/* line 1454, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.conservative {
  color: #22c55e;
}

/* line 1457, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.dynamic {
  color: #cc903c;
}

/* line 1460, app/assets/stylesheets/account.scss */
.profile-preview-item .preview-value.aggressive {
  color: #ef4444;
}

/* line 1467, app/assets/stylesheets/account.scss */
.profile-incomplete-notice .alert {
  font-size: 0.8rem;
  padding: 0.6rem 0.8rem;
  border-radius: 8px;
}

/* line 1472, app/assets/stylesheets/account.scss */
.profile-incomplete-notice .alert i {
  margin-right: 0.4rem;
}

@media (max-width: 767px) {
  /* line 1480, app/assets/stylesheets/account.scss */
  .profile-preview-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  /* line 1485, app/assets/stylesheets/account.scss */
  .profile-preview-item {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.5rem;
  }
  /* line 1491, app/assets/stylesheets/account.scss */
  .profile-preview-item .preview-label {
    font-size: 0.6rem;
  }
  /* line 1495, app/assets/stylesheets/account.scss */
  .profile-preview-item .preview-value {
    font-size: 0.75rem;
  }
}

/* line 1506, app/assets/stylesheets/account.scss */
.account-settings-page h5 {
  color: #f7f6f4;
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

/* line 1514, app/assets/stylesheets/account.scss */
.account-settings-page .form-label {
  text-align: left;
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 0.35rem;
}

/* line 1524, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card {
  background: rgba(21, 29, 44, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 1.25rem !important;
  text-align: left !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  max-height: none !important;
  min-height: auto !important;
  height: auto !important;
}

/* line 1537, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card::before {
  display: none !important;
}

/* line 1541, app/assets/stylesheets/account.scss */
.account-settings-page .summary-card:hover {
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 1547, 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: #f7f6f4;
}

/* line 1555, app/assets/stylesheets/account.scss */
.account-settings-page .form-control:focus {
  border-color: #cc903c;
  box-shadow: 0 0 0 2px rgba(204, 144, 60, 0.15);
}

/* line 1560, app/assets/stylesheets/account.scss */
.account-settings-page .form-control::placeholder {
  color: #64748b;
  font-size: 0.85rem;
}

/* line 1568, 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 1572, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .card-content {
  text-align: left !important;
}

/* line 1576, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card .fw-semibold {
  font-size: 0.9rem;
  color: #f7f6f4;
}

/* line 1581, app/assets/stylesheets/account.scss */
.account-settings-page .email-preferences-form .summary-card small.text-muted {
  font-size: 0.75rem;
}

/* line 1587, app/assets/stylesheets/account.scss */
.account-settings-page .card-icon {
  width: 48px;
  height: 48px;
  background: rgba(204, 144, 60, 0.15);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

/* line 1597, app/assets/stylesheets/account.scss */
.account-settings-page .card-icon i {
  color: #cc903c;
  font-size: 1.25rem;
}

/* line 1604, app/assets/stylesheets/account.scss */
.account-settings-page .card-content h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 0.75rem;
}

/* line 1611, app/assets/stylesheets/account.scss */
.account-settings-page .card-content p {
  font-size: 0.85rem;
  color: #94a3b8;
  margin-bottom: 0.5rem;
}

/* line 1616, app/assets/stylesheets/account.scss */
.account-settings-page .card-content p strong {
  color: #f7f6f4;
}

/* line 1623, 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 1632, 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 1637, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info {
  border-color: rgba(224, 188, 138, 0.4);
  color: #e0bc8a;
}

/* line 1641, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-info:hover {
  background: rgba(224, 188, 138, 0.1);
  border-color: #e0bc8a;
}

/* line 1647, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-warning {
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 1651, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-warning:hover {
  background: rgba(204, 144, 60, 0.1);
  border-color: #cc903c;
}

/* line 1657, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-danger {
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* line 1661, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-danger:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
}

/* line 1667, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-primary {
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

/* line 1671, app/assets/stylesheets/account.scss */
.account-settings-page .btn-outline-primary:hover {
  background: rgba(204, 144, 60, 0.1);
  border-color: #cc903c;
}

/* line 1678, 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 1685, 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 1695, 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(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 1701, app/assets/stylesheets/account.scss */
.account-settings-page .theme-preference-toggle .theme-option i {
  margin-right: 0.35rem;
}

/* line 1708, app/assets/stylesheets/account.scss */
.account-settings-page .d-flex.align-items-center.justify-content-center {
  justify-content: flex-start !important;
}

/* line 1720, app/assets/stylesheets/account.scss */
#my-data .dropdown .btn-outline-info.dropdown-toggle::after {
  margin-left: 0.5rem;
}

/* line 1726, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu {
  background: #1b2333 !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(204, 144, 60, 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: #1b2333;
  --bs-dropdown-border-color: rgba(204, 144, 60, 0.2);
  --bs-dropdown-link-color: #f7f6f4;
  --bs-dropdown-link-hover-bg: transparent;
  --bs-dropdown-link-hover-color: #f7f6f4;
}

/* line 1743, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu li {
  background: transparent !important;
}

/* line 1747, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item {
  color: #f7f6f4 !important;
  background: transparent !important;
  padding: 0.75rem 1rem !important;
  border-radius: 8px !important;
  margin-bottom: 0.25rem;
  transition: all 0.2s ease;
}

/* line 1755, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:last-child {
  margin-bottom: 0;
}

/* line 1759, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:hover, #my-data .dropdown .dropdown-menu .dropdown-item:focus {
  background: rgba(204, 144, 60, 0.15) !important;
  color: #f7f6f4 !important;
}

/* line 1763, 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: #d7a764 !important;
}

/* line 1766, 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: #3ddd78 !important;
}

/* line 1771, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item i {
  width: 20px;
}

/* line 1775, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #64748b !important;
  font-size: 0.75rem;
}

/* line 1787, 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 1798, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item {
  color: #111111 !important;
}

/* line 1801, 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(204, 144, 60, 0.1) !important;
  color: #111111 !important;
}

/* line 1806, app/assets/stylesheets/account.scss */
[data-theme="light"] #my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #666666 !important;
}

/* line 1814, app/assets/stylesheets/account.scss */
.password-input-wrapper {
  position: relative;
}

/* line 1817, app/assets/stylesheets/account.scss */
.password-input-wrapper .form-control {
  padding-right: 2.75rem;
}

/* line 1822, app/assets/stylesheets/account.scss */
.password-toggle-btn {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted, #64748b);
  cursor: pointer;
  padding: 0.25rem;
  font-size: 0.85rem;
  z-index: 2;
  line-height: 1;
  transition: color 0.2s ease;
  outline: none;
}

/* line 1838, app/assets/stylesheets/account.scss */
.password-toggle-btn:hover, .password-toggle-btn:focus-visible {
  color: var(--text-primary, #ffffff);
}
/* line 4, app/assets/stylesheets/shared/_ai_badge.scss */
.ai-analysis-badge {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  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(204, 144, 60, 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(204, 144, 60, 0.3);
  }
  50% {
    box-shadow: 0 4px 16px rgba(204, 144, 60, 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, #1b2333 0%, #1b2333 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(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 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, #cc903c, #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: #cc903c;
  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: #f7f6f4;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
  font-weight: 600;
}

/* 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(224, 188, 138, 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(224, 188, 138, 0.08) 0%, transparent 60%);
}

/* line 100, app/assets/stylesheets/stocks_preferences.scss */
.stock-card.watchlist-card:hover {
  border-color: rgba(224, 188, 138, 0.5);
  box-shadow: 0 12px 30px rgba(224, 188, 138, 0.2);
}

/* line 106, app/assets/stylesheets/stocks_preferences.scss */
.watchlist-card-body {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(224, 188, 138, 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: #e0bc8a;
  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: #22c55e;
}

/* 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(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  color: #cc903c;
  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(204, 144, 60, 0.2);
  color: #d7a764;
  transform: translateY(-1px);
}

/* line 169, app/assets/stylesheets/stocks_preferences.scss */
.stock-actions .dropdown .dropdown-menu {
  background: #1b2333 !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: #f7f6f4 !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: #22c55e !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(34, 197, 94, 0.15) !important;
  color: #3ddd78 !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: #1b2333;
  --bs-dropdown-border-color: rgba(255, 255, 255, 0.1);
  --bs-dropdown-link-color: #f7f6f4;
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.1);
  --bs-dropdown-link-hover-color: #f7f6f4;
  background: #1b2333 !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(204, 144, 60, 0.1) !important;
  border: 1px solid rgba(204, 144, 60, 0.3) !important;
  color: #cc903c !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(204, 144, 60, 0.2) !important;
  color: #d7a764 !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: #1b2333 !important;
  --bs-dropdown-border-color: rgba(255, 255, 255, 0.15) !important;
  --bs-dropdown-link-color: #f7f6f4 !important;
  --bs-dropdown-link-hover-bg: transparent !important;
  --bs-dropdown-link-hover-color: #f7f6f4 !important;
  background: #1b2333 !important;
  background-color: #1b2333 !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: 600;
  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: #22c55e !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(34, 197, 94, 0.15) !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
  color: #22c55e !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(204, 144, 60, 0.08);
  border-radius: 6px;
  border-left: 2px solid rgba(204, 144, 60, 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: #cc903c;
  font-size: 0.75rem;
}

/* line 400, app/assets/stylesheets/stocks_preferences.scss */
.position-value-display small strong {
  color: #cc903c;
  font-weight: 600;
}

/* line 407, app/assets/stylesheets/stocks_preferences.scss */
.form-label {
  font-size: 0.875rem;
  color: #f7f6f4;
  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: #cc903c;
}

/* 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: #cc903c;
  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: #f7f6f4;
  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: #cc903c;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 2px rgba(204, 144, 60, 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: #cc903c;
  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: #cc903c;
  font-weight: 600;
  min-width: 40px;
  justify-content: center;
}

/* line 510, app/assets/stylesheets/stocks_preferences.scss */
.save-btn, .save-all-btn {
  background: #cc903c;
  border: none;
  color: #f7f6f4;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  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: #a9752c;
  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: #22c55e;
  border: 1px solid #22c55e;
  color: #f7f6f4;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: none;
}

/* line 548, app/assets/stylesheets/stocks_preferences.scss */
.save-single-btn:hover {
  background: #1a9a49;
  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: #1b2333;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  max-height: 400px;
  overflow-y: auto;
  margin-top: 0.5rem;
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 100002;
}

/* line 592, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form [data-search-target="button"] {
  display: none !important;
}

/* line 596, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form .flex-grow-1.position-relative {
  flex: 1 1 100%;
}

/* line 600, app/assets/stylesheets/stocks_preferences.scss */
#stock-search-form [data-search-target="results"] {
  position: relative !important;
  width: 100%;
  margin-top: 0.5rem;
}

/* line 608, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

/* line 615, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(4px);
}

/* line 620, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item:last-child {
  border-bottom: none;
}

/* line 625, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-internal {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.05) 0%, rgba(204, 144, 60, 0.02) 100%);
  border-left: 3px solid rgba(204, 144, 60, 0.3);
}

/* line 629, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-internal:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0.05) 100%);
  border-left-color: rgba(204, 144, 60, 0.5);
}

/* line 636, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-external {
  background: rgba(255, 255, 255, 0.02);
}

/* line 639, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-external:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 645, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15) 0%, rgba(204, 144, 60, 0.08) 100%);
  border-left: 3px solid #cc903c;
}

/* line 649, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto:hover {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.22) 0%, rgba(204, 144, 60, 0.12) 100%);
  border-left-color: #e0bc8a;
}

/* line 655, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto .asset-type-badge.asset-type-crypto {
  background: linear-gradient(135deg, #cc903c, #cc903c);
  color: #1a1a2e;
  border: none;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  font-size: 0.7rem;
  box-shadow: 0 2px 8px rgba(204, 144, 60, 0.3);
}

/* line 664, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item.stock-result-crypto .asset-type-badge.asset-type-crypto i {
  color: #1a1a2e;
}

/* line 672, app/assets/stylesheets/stocks_preferences.scss */
.crypto-symbol {
  color: #e0bc8a !important;
  background: rgba(204, 144, 60, 0.25) !important;
  font-weight: 700 !important;
}

/* line 679, app/assets/stylesheets/stocks_preferences.scss */
.btn-crypto {
  background: linear-gradient(135deg, #cc903c, #cc903c) !important;
  color: #1a1a2e !important;
  border: none !important;
  font-weight: 700;
}

/* line 685, app/assets/stylesheets/stocks_preferences.scss */
.btn-crypto:hover {
  background: linear-gradient(135deg, #e0bc8a, #cc903c) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.4);
  color: #1a1a2e !important;
}

/* line 694, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item .asset-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-left: 0.5rem;
}

/* line 706, app/assets/stylesheets/stocks_preferences.scss */
.stock-result-item .asset-type-badge i {
  font-size: 0.6rem;
}

/* line 711, app/assets/stylesheets/stocks_preferences.scss */
.stock-info-container {
  flex: 1;
  min-width: 0;
}

/* line 716, app/assets/stylesheets/stocks_preferences.scss */
.stock-name-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 723, app/assets/stylesheets/stocks_preferences.scss */
.stock-name {
  font-size: 1rem;
  font-weight: 600;
  color: #f7f6f4;
  line-height: 1.3;
  margin: 0;
  margin-top: 0.5rem;
}

/* line 732, app/assets/stylesheets/stocks_preferences.scss */
.super-stock-indicator {
  font-size: 0.9rem;
  opacity: 0.8;
  transition: all 0.2s ease;
}

/* line 737, app/assets/stylesheets/stocks_preferences.scss */
.super-stock-indicator:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* line 743, app/assets/stylesheets/stocks_preferences.scss */
.stock-details {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 750, app/assets/stylesheets/stocks_preferences.scss */
.stock-symbol {
  font-size: 0.875rem;
  font-weight: 600;
  color: #cc903c;
  background: rgba(204, 144, 60, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px solid rgba(204, 144, 60, 0.2);
  margin-top: 0.5rem;
}

/* line 761, app/assets/stylesheets/stocks_preferences.scss */
.stock-separator {
  color: #a0aec0;
  font-weight: 300;
  opacity: 0.6;
}

/* line 767, app/assets/stylesheets/stocks_preferences.scss */
.stock-exchange {
  font-size: 0.875rem;
  color: #a0aec0;
  font-weight: 400;
}

/* line 774, app/assets/stylesheets/stocks_preferences.scss */
.search-result-actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
  align-items: center;
}

/* line 780, app/assets/stylesheets/stocks_preferences.scss */
.search-result-actions .btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  flex-shrink: 0;
}

/* line 792, app/assets/stylesheets/stocks_preferences.scss */
.btn-watchlist-add {
  background: rgba(224, 188, 138, 0.15) !important;
  border: 1px solid rgba(224, 188, 138, 0.35) !important;
  color: #e0bc8a !important;
  border-radius: 8px !important;
}

/* line 798, app/assets/stylesheets/stocks_preferences.scss */
.btn-watchlist-add:hover {
  background: rgba(224, 188, 138, 0.28) !important;
  color: #e0bc8a !important;
}

/* line 804, app/assets/stylesheets/stocks_preferences.scss */
.btn-add-owned {
  background: rgba(204, 144, 60, 0.15) !important;
  border: 1px solid rgba(204, 144, 60, 0.35) !important;
  color: #cc903c !important;
  border-radius: 8px !important;
}

/* line 810, app/assets/stylesheets/stocks_preferences.scss */
.btn-add-owned:hover {
  background: rgba(204, 144, 60, 0.28) !important;
}

/* line 815, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  color: #cc903c;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* line 826, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn i {
  margin-right: 0.25rem;
  font-size: 0.75rem;
}

/* line 831, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: rgba(204, 144, 60, 0.5);
  color: #d7a764;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(204, 144, 60, 0.2);
}

/* line 839, app/assets/stylesheets/stocks_preferences.scss */
.add-stock-btn:active {
  transform: translateY(0);
}

/* line 845, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal {
  margin-top: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(204, 144, 60, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 852, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal i {
  color: #cc903c;
  margin-right: 0.25rem;
}

/* line 857, app/assets/stylesheets/stocks_preferences.scss */
.position-value-modal strong {
  color: #cc903c;
  font-size: 1rem;
  margin-left: 0.25rem;
}

/* line 866, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .asset-type-badge {
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  vertical-align: middle;
}

/* line 871, app/assets/stylesheets/stocks_preferences.scss */
#shareQuantityModal .asset-type-badge.asset-type-crypto {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.25), rgba(204, 144, 60, 0.15));
  color: #e0bc8a;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

@media (max-width: 767px) {
  /* line 881, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal,
#stockTransactionModal {
    z-index: 10000 !important;
  }
  /* line 885, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal .modal-dialog,
#stockTransactionModal .modal-dialog {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
  }
  /* line 893, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal .modal-content,
#stockTransactionModal .modal-content {
    height: 100% !important;
    border-radius: 0 !important;
    border: none !important;
    display: flex !important;
    flex-direction: column !important;
  }
  /* line 901, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal .modal-header,
#stockTransactionModal .modal-header {
    padding-top: calc(env(safe-area-inset-top, 0px) + 0.75rem) !important;
    flex-shrink: 0 !important;
  }
  /* line 906, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal .modal-body,
#stockTransactionModal .modal-body {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 912, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal .modal-footer,
#stockTransactionModal .modal-footer {
    flex-shrink: 0 !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem) !important;
  }
  /* line 918, app/assets/stylesheets/stocks_preferences.scss */
  #shareQuantityModal + .modal-backdrop,
#stockTransactionModal + .modal-backdrop {
    z-index: 9999 !important;
  }
}

/* line 925, 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 931, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 935, app/assets/stylesheets/stocks_preferences.scss */
.search-result-item:last-child {
  border-bottom: none;
}

/* line 940, app/assets/stylesheets/stocks_preferences.scss */
.search-result-symbol {
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 0.25rem;
}

/* line 946, app/assets/stylesheets/stocks_preferences.scss */
.search-result-name {
  font-size: 0.875rem;
  color: #a0aec0;
}

/* line 952, app/assets/stylesheets/stocks_preferences.scss */
.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  background: linear-gradient(145deg, #1b2333 0%, #1b2333 100%);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 960, app/assets/stylesheets/stocks_preferences.scss */
.empty-icon {
  width: 60px;
  height: 60px;
  background: rgba(204, 144, 60, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: 1.5rem;
  color: #cc903c;
}

/* line 973, app/assets/stylesheets/stocks_preferences.scss */
.empty-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 0.5rem;
}

/* line 980, app/assets/stylesheets/stocks_preferences.scss */
.empty-description {
  color: #a0aec0;
  margin-bottom: 1.5rem;
}

/* line 986, app/assets/stylesheets/stocks_preferences.scss */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

/* line 991, 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: #cc903c;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 1008, 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 1019, app/assets/stylesheets/stocks_preferences.scss */
  .stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem;
  }
  /* line 1024, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    padding: 0.75rem;
    position: relative;
  }
  /* line 1028, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  /* line 1033, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info {
    padding-right: 35px;
  }
  /* line 1036, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .stock-symbol {
    font-size: 0.75rem;
    padding: 0.15rem 0.4rem;
  }
  /* line 1041, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .stock-name {
    font-size: 0.8rem;
    margin: 0.25rem 0;
  }
  /* line 1046, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-info .text-muted {
    font-size: 0.65rem;
  }
  /* line 1051, 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 1060, 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 1073, 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 1081, 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 1092, 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 1097, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-header .stock-actions .transaction-dropdown-component .btn::after {
    display: none !important;
  }
  /* line 1106, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .form-label {
    font-size: 0.75rem;
  }
  /* line 1110, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares .shares-input {
    font-size: 0.85rem;
    padding: 0.4rem 0.6rem;
  }
  /* line 1117, app/assets/stylesheets/stocks_preferences.scss */
  .search-results {
    max-height: 350px;
  }
}

@media (max-width: 480px) {
  /* line 1125, app/assets/stylesheets/stocks_preferences.scss */
  .stocks-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
    padding: 0 0.25rem;
  }
  /* line 1132, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    padding: 0.875rem 0.875rem 0.75rem;
  }
  /* line 1136, 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 1145, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info {
    flex: 1;
    min-width: 0;
  }
  /* line 1149, 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 1157, 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 1163, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .watchlist-badge {
    font-size: 0.62rem;
    padding: 0.12rem 0.4rem;
  }
  /* line 1168, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info .asset-type-badge {
    font-size: 0.6rem;
    padding: 0.1rem 0.35rem;
  }
  /* line 1173, 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 1183, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-info small.text-muted {
    font-size: 0.7rem;
    opacity: 0.75;
  }
  /* line 1188, 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 1196, 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 1204, 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 1216, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .remove-stock-btn i {
    font-size: 0.68rem !important;
    margin: 0 !important;
  }
  /* line 1219, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component {
    margin: 0 !important;
  }
  /* line 1221, 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 1234, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn i {
    font-size: 0.68rem !important;
    margin: 0 !important;
  }
  /* line 1235, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-actions .transaction-dropdown-component .btn::after {
    display: none !important;
  }
  /* line 1241, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-card-body {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 1246, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-since-label {
    font-size: 0.72rem;
  }
  /* line 1247, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-card-pnl {
    font-size: 0.88rem;
  }
  /* line 1248, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .watchlist-ref-price-label {
    font-size: 0.68rem;
  }
  /* line 1251, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-inputs-container {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 1256, 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 1263, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-shares,
.stock-card .stock-purchase-price {
    flex: 1;
    min-width: 0;
  }
  /* line 1268, 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 1277, 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 1280, 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 1287, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .stock-save-actions {
    flex-shrink: 0;
    align-self: flex-end;
  }
  /* line 1291, 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 1299, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .position-value-display {
    margin-top: 0.5rem;
    padding: 0.35rem 0.55rem;
  }
  /* line 1303, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card .position-value-display small {
    font-size: 0.78rem;
  }
  /* line 1310, app/assets/stylesheets/stocks_preferences.scss */
  .search-results {
    max-height: 300px;
  }
  /* line 1314, 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 1322, 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 1330, 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 1337, app/assets/stylesheets/stocks_preferences.scss */
  .stock-name {
    font-size: 0.78rem !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }
  /* line 1343, app/assets/stylesheets/stocks_preferences.scss */
  .stock-details {
    display: flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 1350, app/assets/stylesheets/stocks_preferences.scss */
  .stock-symbol {
    font-size: 0.62rem !important;
    padding: 0.06rem 0.22rem !important;
    margin: 0 !important;
  }
  /* line 1356, 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 1364, app/assets/stylesheets/stocks_preferences.scss */
  .stock-separator {
    display: none !important;
  }
  /* line 1366, 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 1379, 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 1390, app/assets/stylesheets/stocks_preferences.scss */
  .ai-analysis-badge {
    display: none !important;
  }
  /* line 1392, app/assets/stylesheets/stocks_preferences.scss */
  .save-single-btn {
    width: 100%;
    margin-top: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 1400, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card,
.save-btn,
.save-all-btn,
.search-result-item {
    transition: none;
  }
  /* line 1406, app/assets/stylesheets/stocks_preferences.scss */
  .loading-spinner {
    animation: none;
  }
}

/* line 1412, app/assets/stylesheets/stocks_preferences.scss */
.stock-card:focus-within {
  outline: 2px solid #cc903c;
  outline-offset: 2px;
}

/* line 1417, app/assets/stylesheets/stocks_preferences.scss */
.shares-input:focus,
.save-btn:focus,
.save-all-btn:focus,
.remove-btn:focus {
  outline: 2px solid #cc903c;
  outline-offset: 2px;
}

@media (prefers-contrast: high) {
  /* line 1428, app/assets/stylesheets/stocks_preferences.scss */
  .stock-card {
    border-width: 2px;
  }
  /* line 1432, app/assets/stylesheets/stocks_preferences.scss */
  .shares-input {
    border-width: 2px;
  }
}

/* line 1442, 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 1447, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card:hover {
  box-shadow: 0 12px 30px rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
}

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

/* line 1459, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-card small {
  color: var(--text-muted);
}

/* line 1464, 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 1470, 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(204, 144, 60, 0.2);
}

/* line 1476, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .shares-input::placeholder,
[data-theme="light"] .purchase-price-input::placeholder {
  color: var(--text-muted);
}

/* line 1482, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-inputs-container {
  border-top-color: var(--border-color);
}

/* line 1487, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .form-label {
  color: var(--text-primary);
}

/* line 1492, 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 1507, 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 1520, 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 1528, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .dropdown-divider {
  border-color: var(--border-color);
}

/* line 1533, 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 1539, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item {
  border-bottom-color: var(--border-color);
}

/* line 1542, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item:hover {
  background: var(--bg-secondary);
}

/* line 1546, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item.stock-result-external {
  background: transparent;
}

/* line 1549, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-result-item.stock-result-external:hover {
  background: var(--bg-secondary);
}

/* line 1556, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-state {
  background: var(--bg-card-solid);
  border-color: var(--border-color);
}

/* line 1561, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-title {
  color: var(--text-primary);
}

/* line 1565, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .empty-description {
  color: var(--text-muted);
}

/* line 1570, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .loading-spinner {
  border-color: var(--border-color);
  border-top-color: var(--accent-primary);
}

/* line 1576, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .position-value-display small {
  color: var(--text-secondary);
}

/* line 1581, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-item {
  border-bottom-color: var(--border-color);
}

/* line 1584, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-item:hover {
  background: var(--bg-secondary);
}

/* line 1589, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-symbol {
  color: var(--text-primary);
}

/* line 1593, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .search-result-name {
  color: var(--text-muted);
}

/* line 1599, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] #shareQuantityModal .input-group-text {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1606, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-separator {
  color: var(--text-muted);
}

/* line 1610, app/assets/stylesheets/stocks_preferences.scss */
[data-theme="light"] .stock-exchange {
  color: var(--text-muted);
}

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

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

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

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

/* line 1634, 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: #f7f6f4;
  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: 600;
}

/* 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: 600;
}

/* 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: #f7f6f4;
  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: 600;
  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: #f7f6f4;
}

/* line 255, app/assets/stylesheets/blog.scss */
.newsletter-widget .widget-title {
  color: #f7f6f4;
}

/* 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: #f7f6f4;
}

/* 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: 600;
  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: 600;
}

/* 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: 600;
}

/* 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: 600;
}

/* 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: 600;
}

/* 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: 600;
  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: #f7f6f4 !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, #000615 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: #f7f6f4 !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(204, 144, 60, 0.5) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.blog-search-v2 .search-btn {
  background: rgba(204, 144, 60, 0.14) !important;
  border: 1px solid rgba(204, 144, 60, 0.35) !important;
  border-radius: 12px !important;
  padding: 14px 24px !important;
  color: #cc903c !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(204, 144, 60, 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: #f7f6f4;
  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(204, 144, 60, 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(204, 144, 60, 0.2), rgba(224, 188, 138, 0.2));
  border: 1px solid rgba(204, 144, 60, 0.3);
  color: #e0bc8a;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  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: #f7f6f4;
  text-decoration: none;
  transition: color 0.2s;
}

.article-card-v2 .article-title a:hover {
  color: #e0bc8a;
}

.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(204, 144, 60, 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(204, 144, 60, 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.05rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #f7f6f4;
  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(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 0.3);
  color: #f7f6f4;
}

.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: 24px;
  height: 24px;
  background: rgba(204, 144, 60, 0.12);
  border: 1px solid rgba(204, 144, 60, 0.28);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #cc903c;
  margin-right: 12px;
  flex-shrink: 0;
}


.popular-articles-v2 .article-info {
  flex: 1;
}

.popular-articles-v2 .article-info .article-title {
  font-size: 0.95rem;
  font-weight: 600;
  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: #e0bc8a;
}

.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(204, 144, 60, 0.6);
  margin-right: 4px;
}

/* Newsletter Widget */
.newsletter-widget-v2 {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(224, 188, 138, 0.15)) !important;
  border-color: rgba(204, 144, 60, 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: #f7f6f4;
  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(204, 144, 60, 0.5);
}

.newsletter-widget-v2 .newsletter-form input[type="submit"] {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  border: none;
  border-radius: 10px;
  padding: 12px 20px;
  color: #f7f6f4;
  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(204, 144, 60, 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: #22c55e;
  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: #f7f6f4;
  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, #cc903c, #e0bc8a);
  border: none;
  border-radius: 12px;
  padding: 14px 28px;
  color: #f7f6f4;
  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(204, 144, 60, 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(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 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(204, 144, 60, 0.08);
  border-color: rgba(204, 144, 60, 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;
}

/* ============================================================
   BLOG — alignment with the app's card language
   ============================================================ */

/* The card already sets height:100%, so cards in a row match. Its body was not
   a flex column though, so with excerpts of different lengths the author and
   the read-time footer floated at different heights from one card to the next.
   Growing the excerpt pins the footer to the bottom of every card. */
.article-card-v2 {
  display: flex;
  flex-direction: column;
}

.article-card-v2 .article-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.article-card-v2 .article-excerpt {
  flex: 1;
}

.article-card-v2 .article-footer {
  margin-top: auto;
}

/* Titles clamp to three lines so a long headline cannot push the excerpt and
   footer out of alignment with the neighbouring card. */
.article-card-v2 .article-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Match the dashboard's tabular figures for read time and view counts. */
.article-card-v2 .article-stats,
.article-card-v2 .article-date {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 767px) {
  /* 16px is the threshold below which iOS Safari zooms the viewport on focus,
     which then leaves the page scrolled sideways after the keyboard closes. */
  .blog-search-v2 .search-input {
    font-size: 16px !important;
    min-height: 46px;
  }

  .blog-search-v2 .search-input-group {
    gap: 8px;
  }

  .blog-search-v2 .search-btn {
    min-height: 46px;
    white-space: nowrap;
  }

  /* The hover lift is a pointer affordance; on touch it latches after a tap and
     reads as a selected state that means nothing. */
  .article-card-v2:hover {
    transform: none;
    box-shadow: none;
  }

  .article-card-v2 .article-image {
    height: 180px;
  }
}

@media (hover: none) {
  .article-card-v2:hover {
    transform: none;
  }
}


/* `.section-title-v2` is a landing-page hero style — clamp(32px, 5vw, 48px) at
   weight 800 (landing_v2.scss:873). On the blog it labels a list of articles,
   so it rendered as a 48px extra-bold slab above every section. Scoped to the
   blog only; the landing pages keep theirs. */
.blog-page-v2 .section-title-v2 {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.blog-page-v2 .article-count {
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

/* The card title was 600 while the app sets headings at 400-500. */
.blog-page-v2 .article-card-v2 .article-title,
.blog-page-v2 .featured-article-v2 .article-title {
  font-weight: 600;
}

@media (max-width: 767px) {
  .blog-page-v2 .section-title-v2 {
    font-size: 1.15rem;
  }
}
/* Chatbot Widget Styles - V2 Design System */
:root {
  --chatbot-primary: var(--accent-primary, #cc903c);
  --chatbot-primary-dark: var(--accent-primary-hover, #a97832);
  --chatbot-secondary: var(--accent-secondary, #e0bc8a);
  --chatbot-accent: #e0bc8a;
  --chatbot-dark-bg: var(--bg-primary, #000615);
  --chatbot-darker-bg: #000615;
  --chatbot-card-bg: var(--bg-card, rgba(17, 24, 37, 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, #cc903c) 0%, var(--accent-secondary, #e0bc8a) 100%);
  --chatbot-gradient-card: linear-gradient(145deg, rgba(27, 35, 51, 0.9) 0%, rgba(27, 35, 51, 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(204, 144, 60, 0.15));
  --chatbot-shadow-glow: var(--shadow-glow, 0 0 30px rgba(204, 144, 60, 0.25));
  --chatbot-error-color: var(--color-warning, #cc903c);
}

/* 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: 'Montserrat', -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: #f7f6f4;
  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: #f7f6f4;
  border-radius: 12px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 700;
  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, #cc903c);
  color: var(--text-inverse, #000615);
  padding: 4px 6px;
  box-shadow: 0 2px 8px rgba(204, 144, 60, 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, 204, 144, 60), 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: #f7f6f4;
  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: #f7f6f4;
  font-weight: 600;
}

.chatbot-close-btn {
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: #f7f6f4;
  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: #f7f6f4;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(var(--accent-primary-rgb, 201, 148, 78), 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, 201, 148, 78), 0.4);
  color: #f7f6f4;
  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: #f7f6f4;
  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, 201, 148, 78), 0.3);
  white-space: nowrap;
}

.upgrade-prompt .upgrade-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 201, 148, 78), 0.4);
  color: #f7f6f4;
  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: #f7f6f4;
  border-bottom-right-radius: 4px;
  box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb, 201, 148, 78), 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(204, 144, 60, 0.3);
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 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, 201, 148, 78), 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: 600;
  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;
}

/* -- Composer -------------------------------------------------------------
   ONE geometry at every breakpoint: a 44px row (the app's touch target),
   12px radii, a true 8px gap.

   Arithmetic, exact and breakpoint-independent:
     line box 24px (16px x line-height 24px) + padding 9+9 + border 1+1 = 44px
   which is the send button's height to the pixel. `align-items: flex-end`
   then flushes two equal boxes and the old 6px offset is 0.

   The markup carries NO Bootstrap classes (see _chatbot_widget.html.erb), so
   element-qualified selectors (0,1,1) are enough to outrank the surviving
   bare-element rules -- mobile_optimizations.css `button{padding:12px 16px}`
   and `textarea{padding:12px 16px;min-height:44px}`, both (0,0,1) -- with no
   !important on any geometry.

   NOTE on font-size: it is pinned at 16px from all.css slot 23 by
   webview_hide_elements.css `.webview-mode textarea{font-size:16px !important}`
   and by mobile_optimizations.css `textarea{font-size:16px !important}`. The
   declaration below is therefore DEAD but documentary -- the box maths holds
   only because the values coincide. Any future size change must be made in
   webview_hide_elements.css, not here. 16px is the iOS focus-zoom floor: never
   go below it. */

.chatbot-input-wrapper {
  padding: 12px 16px;
  background: var(--chatbot-dark-bg);
  border-top: 1px solid var(--chatbot-border);
  flex-shrink: 0;
}

/* `.input-group` is kept ONLY for app/views/chatbot/index.html.erb, the
   standalone legacy page, which still uses Bootstrap markup and supplies its
   own display/gap from an inline <style>. Removing this selector would leave
   that page on Bootstrap's `align-items:stretch; flex-wrap:wrap`. */
.chatbot-form .chatbot-composer,
.chatbot-form .input-group {
  display: flex;
  flex-direction: row;
  align-items: flex-end;   /* button stays at the bottom as the textarea grows */
  gap: 8px;
  flex-wrap: nowrap;
  width: 100%;
}

textarea.chatbot-input {
  box-sizing: border-box;
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  font-family: inherit;
  font-size: 16px;
  line-height: 24px;   /* absolute, not 1.5 -- the box maths above must be exact */
  padding: 9px 14px;
  border: 1px solid var(--chatbot-border);
  border-radius: 12px;
  height: 44px;        /* collapsed height; autoResize() writes an inline px value */
  min-height: 44px;
  max-height: 150px;
  background: var(--bg-card-solid, #111825);
  color: var(--chatbot-text-primary);
  resize: none;
  overflow-y: hidden;
  overscroll-behavior: contain;
  transition: border-color 0.2s ease, background 0.2s ease;
}

textarea.chatbot-input:focus {
  outline: none;
  box-shadow: none;
  background: var(--bg-card-solid, #111825);
  border-color: rgba(var(--accent-primary-rgb, 204, 144, 60), 0.55);
}

/* --text-muted (#64748b) on this surface is 3.89:1 -- below the 4.5:1 AA floor.
   --text-secondary (#94a3b8) is 7.21:1. */
.chatbot-input::placeholder {
  color: var(--text-secondary, #94a3b8);
  opacity: 1;   /* Firefox defaults ::placeholder to .54 */
}

/* Safety net. The controller no longer disables the textarea (see disableForm),
   but if anything ever does, it must LOOK disabled -- a disabled .chatbot-input
   used to be pixel-identical to a live one and swallowed every tap in silence. */
textarea.chatbot-input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

button.chatbot-send-btn {
  box-sizing: border-box;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  max-width: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;   /* a bare <button> inherits the UA font, not Montserrat */
  font-size: 15px;
  line-height: 1;
  border: none;
  border-radius: 12px;
  background: var(--chatbot-primary);
  color: var(--text-inverse, #000615);
  box-shadow: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s ease, opacity 0.2s ease;
}

button.chatbot-send-btn:hover:not(:disabled) {
  background: var(--chatbot-secondary);
}

button.chatbot-send-btn:active:not(:disabled) {
  background: var(--chatbot-primary-dark);
}

button.chatbot-send-btn:focus,
button.chatbot-send-btn:focus-visible {
  outline: none;
  box-shadow: none;
}

button.chatbot-send-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* 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
   ============================================ */
/* Fullscreen: phones in portrait, AND anything <=1024px wide in a short
   viewport (iPhone landscape is 844x390 -- the old `max-width: 767px` missed it
   entirely, so a landscape phone got the desktop card AND no keyboard
   handling). Deliberately excludes iPad portrait (768x1024), iPad landscape
   (1024x768) and wide desktop windows. */
@media (max-width: 767px), (max-width: 1024px) and (max-height: 500px) {
  .chatbot-widget-container {
    bottom: 16px;
    bottom: env(safe-area-inset-bottom, 16px);
    right: 16px;
    left: auto;
  }

  /* Fullscreen panel, anchored TOP AND BOTTOM -- never by `height`.

     A fixed box sized by two offsets with `height: auto` is NOT over-
     constrained: the offsets size it. The previous rule set
     `top: var(--chatbot-vv-top)` on top of a height that ALREADY subtracted the
     keyboard, so the panel's bottom edge was vvTop + height and every pixel of
     visualViewport.offsetTop pushed the composer one pixel further UNDER the
     keyboard. Both of its inputs were also permanently dead on the device:
       --keyboard-height   written by NOTHING that ships. mobile/dist/app.js is
                           not in the bundle (webDir is 'www'; mobile/www/js/
                           and mobile/ios/App/App/public/js/ each contain only
                           auth.js; the `cp -r dist/* www/js/` build step in
                           package.json was never run).
       --chatbot-vv-height visualViewport, which never moves inside the app:
                           @capacitor/keyboard removes WKWebView's own four
                           UIKeyboard observers and zeroes the scroll view
                           contentInset on every keyboard transition, so WebKit
                           is never told the keyboard exists.
     So `min(--chatbot-vv-height, calc(100dvh - --keyboard-height))` resolved to
     min(100dvh, 100dvh) and the panel never shrank.

     ONE signal now: --app-kb, the px the keyboard covers, written on <html>
     by updateKeyboardInset() in chatbot_widget_controller.js. No dvh, no svh,
     no min(): all are Safari 15.4+, and an invalid var() inside min() is
     invalid-at-computed-value-time (height would compute to `auto`, NOT fall
     back to a preceding 100vh line). This geometry parses from iOS 12. */
  .chatbot-window {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: var(--app-kb, 0px) !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 10003 !important; /* Always above back button (9999) */
  }

  /* Neutralise the entrance animation at BOTH ends. `.visible{transform:none}`
     alone is not enough: the resting state before open is `.hidden`, which
     declares `translateY(20px) scale(0.95)`, and the base rule still lists
     `transform` in its 0.3s transition -- so the scale-in still played, and
     open() calls focus() at +100ms, dead centre of it. A non-none transform
     also pins the fullscreen panel in its own composited layer for its whole
     life, which is where WKWebView's stale-hit-region behaviour lives. The
     panel is fullscreen here; the slide was invisible anyway. */
  .chatbot-window,
  .chatbot-window.hidden,
  .chatbot-window.visible {
    transform: none !important;
    -webkit-transform: none !important;
    transition: opacity 0.2s ease !important;
  }

  /* 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;
  }

  /* !important because the 768-1279px block later in this file sets
     `padding: 16px 20px` -- it would otherwise win at 844x390 (iPhone
     landscape), taking the keyboard-aware padding with it.

     The home indicator is only exposed when no keyboard is up; while the
     keyboard shows it covers that strip, and the inset would leave ~34px of
     dead gap between the composer and the key rows. max() cannot go negative.
     max()/env()/calc() are all Safari 11.1+. */
  .chatbot-input-wrapper {
    padding: 10px 14px !important;
    padding-bottom: calc(
      10px + max(0px, env(safe-area-inset-bottom, 0px) - var(--app-kb, 0px))
    ) !important;
  }


  /* Pointer-only affordance — it is driven by mousedown, so it does nothing on
     touch, while drawing a grey bar with a grip icon across the bottom edge of
     the panel, directly under the composer. */
  .chatbot-resize-handle {
    display: none !important;
  }


  /* These are the values mobile_optimizations.css used to win with; that block
     is deleted, so they live here now or message text silently shrinks. */
  .message-content {
    font-size: 14px;
    padding: 10px 14px;
    line-height: 1.5;
    max-width: 90%;
  }

  .welcome-message {
    padding: 14px;
    font-size: 12px;
    margin: 10px;
  }

}

/* 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;
  }


  .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: #f7f6f4;
  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: #f7f6f4;
  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(204, 144, 60, 0.2);
  border: 1px solid rgba(204, 144, 60, 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: #f7f6f4;
  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, 201, 148, 78), 0.4);
  color: #f7f6f4;
  text-decoration: none;
}

.message.system-action-completed {
  align-self: flex-start;
}

@media (min-width: 768px) {
  .message.system-action-completed {
    align-self: center;
  }
}

/* ===== New Page Discovery Dot (Chatbot) ===== */
.new-page-dot-chatbot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  margin-left: 0;
  z-index: 10004;
}

.chatbot-toggle-btn {
  position: relative;
}
/* Mobile Optimizations for Native App Wrapper (WebView) */

/* ============================================
   iOS Safe Area Support (Notch / Dynamic Island)
   ============================================ */

/* Apply safe area padding when in webview/app mode */
html {
  /* Extend background color behind the notch */
  background-color: #000615;
}

body {
  /* Extend background behind notch but don't add padding here */
  background-color: #000615;
}

/* 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: #000615;
  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(204, 144, 60, 0.2);
}

/* Remove tap highlight on iOS */
* {
  -webkit-tap-highlight-color: transparent;
}

button:active,
.btn:active,
a:active {
  -webkit-tap-highlight-color: rgba(204, 144, 60, 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 — CLEAN PRO
     Ticker + Name | Price + Change
     Thin separator | Signal + Confidence | J+1 Position
     Compact action bar (Chart / P&L / AI / Trade)
     ============================================================ */

  .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: 16px !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 !important;
    grid-template-areas:
      "stock    price"
      "glow     glow"
      "signal   position"
      "perso    events"
      "details  details" !important;
    gap: 0 !important;
    /* row-gap: 4px !important; */
    position: relative !important;
    margin-bottom: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 16px !important;
    padding: 12px 22px 12px 12px !important;
    background: rgba(14, 17, 35, 0.95) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
    overflow: hidden !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(170deg,
      rgba(14, 17, 35, 0.95) 0%,
      rgba(8, 20, 14, 0.95) 100%) !important;
    border-color: rgba(34, 197, 94, 0.12) !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-sell {
    background: linear-gradient(170deg,
      rgba(14, 17, 35, 0.95) 0%,
      rgba(22, 10, 12, 0.95) 100%) !important;
    border-color: rgba(239, 68, 68, 0.12) !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 */
  .dashboard-container table.stocks-table .stock-info-compact .symbol-tag {
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    color: #f7f6f4 !important;
    letter-spacing: 0.3px !important;
  }

  /* Stock name */
  .dashboard-container table.stocks-table .stock-info-compact .stock-name-inline {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 140px !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: 16px !important;
    font-weight: 700 !important;
    color: #f7f6f4 !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: #cc903c !important;
    border-radius: 50% !important;
    animation: pulse-live 2s infinite !important;
    flex-shrink: 0 !important;
    box-shadow: 0 0 4px rgba(204, 144, 60, 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;
  }

  /* ====== SEPARATOR LINE ====== */
  .dashboard-container table.stocks-table tr.stock-row::before {
    content: "" !important;
    grid-area: glow !important;
    display: block !important;
    height: 1px !important;
    border-radius: 1px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    margin: 2px 0 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    animation: none !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-buy::before {
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(34, 197, 94, 0.25) 50%,
      transparent 100%) !important;
    box-shadow: none !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-sell::before {
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(239, 68, 68, 0.25) 50%,
      transparent 100%) !important;
    box-shadow: none !important;
  }

  /* ====== FULL BLEED LOGO ====== */
  .dashboard-container table.stocks-table td.stock-watermark-cell {
    display: block !important;
    position: absolute !important;
    top: 28% !important;
    left: -15px !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    width: 180px !important;
    height: 180px !important;
    pointer-events: none !important;
    z-index: 0 !important;
    overflow: visible !important;
  }

  .dashboard-container table.stocks-table td.stock-watermark-cell .stock-watermark-logo {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    opacity: 0.13 !important;
    filter: none !important;
    -webkit-mask-image: radial-gradient(circle, rgba(0,0,0,0.7) 20%, transparent 62%) !important;
    mask-image: radial-gradient(circle, rgba(0,0,0,0.7) 20%, transparent 62%) !important;
  }

  .dashboard-container table.stocks-table td.stock-watermark-cell .stock-watermark-fallback {
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 4.5rem !important;
    font-weight: 700 !important;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif !important;
    color: rgba(255, 255, 255, 0.05) !important;
    letter-spacing: -3px !important;
    line-height: 1 !important;
    -webkit-mask-image: radial-gradient(circle, rgba(0,0,0,0.7) 25%, transparent 60%) !important;
    mask-image: radial-gradient(circle, rgba(0,0,0,0.7) 25%, transparent 60%) !important;
  }

  .dashboard-container table.stocks-table td.stock-watermark-cell .stock-watermark-fallback.crypto-fallback {
    color: rgba(204, 144, 60, 0.09) !important;
  }

  /* ====== 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: 7px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.2) !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: 700 !important;
    border-radius: 7px !important;
    letter-spacing: 0.4px !important;
  }

  /* Buy signal */
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal.buy {
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.2) !important;
  }

  /* Sell signal */
  .dashboard-container table.stocks-table td.signal-cell .action-badge.main-signal.sell {
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.2) !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 8px rgba(204, 144, 60, 0.15) !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(204, 144, 60, 0.12) !important;
    color: #cc903c !important;
    border: 1px solid rgba(204, 144, 60, 0.25) !important;
  }

  .dashboard-container table.stocks-table td.signal-cell .mobile-conf-badge.conf-medium {
    background: rgba(204, 144, 60, 0.12) !important;
    color: #cc903c !important;
    border: 1px solid rgba(204, 144, 60, 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: 700 !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: #cc903c !important;
    border-color: rgba(204, 144, 60, 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   events"
      "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 — position takes its place */
  .dashboard-container table.stocks-table tr.stock-row.no-perso.no-events td.events-cell {
    display: none !important;
  }

  /* When no-perso, events span full width */
  .dashboard-container table.stocks-table tr.stock-row.no-perso td.events-cell {
    justify-content: flex-start !important;
  }

  /* Position cell — no longer spans multiple rows */
  .dashboard-container table.stocks-table tr.stock-row.no-perso td.position-cell,
  .dashboard-container table.stocks-table tr.stock-row.no-perso.no-events td.position-cell {
    grid-row: auto !important;
  }

  /* ====== POSITION CELL — shows J+1 on mobile, inline with signal row ====== */
  .dashboard-container table.stocks-table td.position-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    grid-area: position !important;
    padding: 4px 8px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 8px !important;
    gap: 6px !important;
    min-width: 0 !important;
    margin-left: 4px !important;
    overflow: hidden !important;
  }

  /* Tint J+1 cell border by signal */
  .dashboard-container table.stocks-table tr.stock-row.signal-buy td.position-cell {
    background: rgba(34, 197, 94, 0.04) !important;
    border-color: rgba(34, 197, 94, 0.12) !important;
  }

  .dashboard-container table.stocks-table tr.stock-row.signal-sell td.position-cell {
    background: rgba(239, 68, 68, 0.04) !important;
    border-color: rgba(239, 68, 68, 0.12) !important;
  }

  /* Watchlist PnL block - HIDDEN on mobile card mode (info moved to custom tooltip on PnL badge) */
  .dashboard-container table.stocks-table td.position-cell .watchlist-pnl-block {
    display: none !important;
  }

  /* Card J+1 display — shown on mobile for watchlist stocks */
  .dashboard-container table.stocks-table td.position-cell .card-j1-display {
    display: flex !important;
    overflow: hidden !important;
    max-width: 100% !important;
  }

  .dashboard-container table.stocks-table td.position-cell .card-j1-display .mobile-j1-display {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Hide desktop P&L content on mobile */
  .dashboard-container table.stocks-table td.position-cell .position-two-cols {
    display: none !important;
  }

  /* J+1 display block (mobile only) — compact horizontal layout */
  .dashboard-container table.stocks-table td.position-cell .mobile-j1-display {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-label {
    font-size: 7px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.3) !important;
    letter-spacing: 1px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-value {
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    line-height: 1 !important;
    text-shadow: none !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-value.positive {
    color: #22c55e !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-value.negative {
    color: #ff4d6a !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-baseline {
    font-size: 7px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.3) !important;
    letter-spacing: 0.5px !important;
    margin-top: -2px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-locked {
    opacity: 0.4 !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-lock-icon {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.35) !important;
  }

  /* Confidence label text under bar */
  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text {
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    opacity: 0.6 !important;
    margin-top: 1px !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text.conf-high {
    color: #cc903c !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-text.conf-medium {
    color: #cc903c !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: #cc903c !important;
    box-shadow: 0 0 4px rgba(204, 144, 60, 0.6) !important;
  }

  .dashboard-container table.stocks-table td.position-cell .mobile-j1-conf-fill.conf-medium {
    background: #cc903c !important;
    box-shadow: 0 0 4px rgba(204, 144, 60, 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-end !important;
    grid-area: events !important;
    padding: 0 2px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    gap: 5px !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: 7px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.2) !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: 6px 0 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    margin-top: 0 !important;
    height: auto !important;
    min-height: 40px !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 34px !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(204, 144, 60, 0.08) !important;
    border: 1px solid rgba(204, 144, 60, 0.15) !important;
    border-radius: 8px !important;
    color: #e0bc8a !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, #cc903c, #e0bc8a) !important;
    border-color: transparent !important;
    color: #f7f6f4 !important;
    box-shadow: 0 2px 10px rgba(204, 144, 60, 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: 34px !important;
    padding: 0 8px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !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(34, 197, 94, 0.09) !important;
    border: 1px solid rgba(34, 197, 94, 0.22) !important;
    color: #22c55e !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: 34px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    background: rgba(204, 144, 60, 0.08) !important;
    border: 1px solid rgba(204, 144, 60, 0.18) !important;
    border-radius: 8px !important;
    color: #e0bc8a !important;
    letter-spacing: 0.1px !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, #e0bc8a, #cc903c) !important;
    border-color: transparent !important;
    color: #f7f6f4 !important;
    box-shadow: 0 2px 14px rgba(224, 188, 138, 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 34px !important;
    width: 34px !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: 34px !important;
    height: 100% !important;
    min-height: 34px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(204, 144, 60, 0.08) !important;
    border: 1px solid rgba(204, 144, 60, 0.15) !important;
    border-radius: 8px !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: #cc903c !important;
    margin-left: 0.15rem !important;
    vertical-align: middle !important;
    animation: pulse-live 2s infinite !important;
    box-shadow: 0 0 5px rgba(204, 144, 60, 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(21, 29, 44, 0.98) 0%, rgba(27, 35, 51, 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: 600 !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: #cc903c !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: #cc903c !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: 600 !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: 600 !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: #cc903c !important;
    margin-left: 0.2rem !important;
    vertical-align: middle !important;
    animation: pulse-live 2s infinite !important;
    box-shadow: 0 0 4px rgba(204, 144, 60, 0.5) !important;
  }

  /* Position values - iPad specific sizes */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.65rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .value-main {
    font-size: 0.60rem !important;
    font-weight: 700 !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct {
    font-size: 0.60rem !important;
    font-weight: 600 !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct.positive {
    font-size: 0.60rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-pct.negative {
    font-size: 0.60rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col .usd-sub {
    font-size: 0.50rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val {
    font-size: 0.50rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val.positive {
    font-size: 0.50rem !important;
  }

  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col .pnl-val.negative {
    font-size: 0.50rem !important;
  }

  /* USD conversions - iPad */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.5rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.50rem !important;
  }

  /* Detail button - MUCH SMALLER on iPad */
  .dashboard-container table.stocks-table .btn-details-ai {
    font-size: 0.7rem !important;
    padding: 0.1rem !important;
    width: 0.8rem;
    height: auto;
  }

  .dashboard-container table.stocks-table .btn-details-ai i {
    font-size: 0.6rem !important;
  }

  .dashboard-container table.stocks-table .btn-details-ai .btn-details-text {
    font-size: 0.6rem !important;
  }

  /* AI Enhanced badge - COMPACT like mobile, just with "enhanced" text */
  .dashboard-container table.stocks-table .stock-actions-row .ai-analysis-badge.mini,
  .dashboard-container .ai-analysis-badge.mini {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.35rem !important;
    gap: 0.15rem !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .dashboard-container table.stocks-table .stock-actions-row .ai-analysis-badge.mini i,
  .dashboard-container .ai-analysis-badge.mini i {
    font-size: 0.5rem !important;
    margin-right: 0.1rem !important;
  }

  /* Show "enhanced" text on iPad - compact */
  .dashboard-container table.stocks-table .stock-actions-row .ai-analysis-badge.mini .badge-text-original,
  .dashboard-container .ai-analysis-badge.mini .badge-text-original {
    display: inline !important;
    font-size: 0.45rem !important;
  }

  /* Exchange status icon - force round */
  .dashboard-container table.stocks-table .exchange-status {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }

  /* Event icons - force round */
  .dashboard-container table.stocks-table .event-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    border-radius: 50% !important;
    padding: 0 !important;
  }

  /* AI Analysis Card content - larger fonts */
  .dashboard-container .ai-analysis-card .level-chip .level-label {
    font-size: 0.6rem !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-value {
    font-size: 0.75rem !important;
  }

  .dashboard-container .ai-analysis-card .level-chip .level-pct {
    font-size: 0.6rem !important;
  }

  /* Complementary Information - smaller title for iPad */
  .dashboard-container .ai-analysis-card .complementary-info-section .section-title {
    font-size: 0.6rem !important;
    gap: 0.35rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .section-title i {
    font-size: 0.55rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-icon {
    font-size: 0.85rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-title {
    font-size: 0.6rem !important;
  }

  .dashboard-container .ai-analysis-card .complementary-info-section .info-block .block-content {
    font-size: 0.75rem !important;
    line-height: 1.5 !important;
  }

  /* Growth estimates - larger on iPad */
  .dashboard-container .ai-analysis-card .growth-estimates-container .metric-label {
    font-size: 0.6rem !important;
  }

  .dashboard-container .ai-analysis-card .growth-estimates-container .metric-value {
    font-size: 0.85rem !important;
  }

  /* AI reasoning - larger on iPad */
  .dashboard-container .ai-analysis-card .reasoning-block .reasoning-label {
    font-size: 0.65rem !important;
  }

  .dashboard-container .ai-analysis-card .reasoning-block .reasoning-text {
    font-size: 0.75rem !important;
  }

  /* Events analysis - larger on iPad */
  .dashboard-container .ai-analysis-card .events-analysis-header h5 {
    font-size: 0.8rem !important;
  }

  .dashboard-container .ai-analysis-card .event-analysis-item .event-text {
    font-size: 0.75rem !important;
  }

  /* Details button - larger on iPad */
  .dashboard-container table.stocks-table .btn-details-ai {
    font-size: 0.7rem !important;
    padding: 0.5rem 0.8rem !important;
  }
}

/* ============================================
   iPad Mini Optimizations (768px width)
   Reduce column widths for prediction columns
   ============================================ */

@media (min-width: 768px) and (max-width: 820px) {
  /* Reduce prediction columns width (EST close and J+7) */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 55px !important;
    min-width: 45px !important;
    padding: 0.2rem 0.15rem !important;
  }

  .dashboard-container table.stocks-table th:nth-child(5),
  .dashboard-container table.stocks-table th:nth-child(6) {
    max-width: 55px !important;
    min-width: 45px !important;
    padding: 0.3rem 0.15rem !important;
  }

  /* Smaller prediction content */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.55rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }

  /* Details cell - fit AI and Trade buttons */
  .dashboard-container table.stocks-table .details-cell {
    padding: 0.15rem !important;
    min-width: 65px !important;
    max-width: 75px !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai {
    padding: 0.2rem 0.25rem !important;
    font-size: 0.55rem !important;
    min-width: unset !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai i {
    font-size: 0.5rem !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }

  /* Transaction dropdown button - smaller on iPad Mini */
  .dashboard-container table.stocks-table .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn {
    width: 28px !important;
    height: 26px !important;
    min-width: 28px !important;
    padding: 0 !important;
  }

  .dashboard-container table.stocks-table .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn i {
    font-size: 0.55rem !important;
  }

  /* Chart cell - reduce */
  .dashboard-container table.stocks-table .chart-cell {
    max-width: 28px !important;
    min-width: 24px !important;
    padding: 0.1rem !important;
  }

  /* Position cell - compact */
  .stocks-table .position-cell {
    max-width: 70px !important;
    padding: 0.2rem 0.15rem !important;
  }

  /* Events cell - compact */
  .stocks-table .events-cell {
    max-width: 45px !important;
    padding: 0.15rem !important;
  }
}

/* ============================================
   iPad ALL (768px - 1024px)
   Fix overlapping columns - DRASTICALLY reduce EST and J+7
   Force horizontal button layout WITHOUT breaking table
   ============================================ */

@media (min-width: 768px) and (max-width: 1024px) {
  /* HEADER for prediction columns - Hide text, show only ? icon */
  .dashboard-container table.stocks-table thead th:nth-child(5),
  .dashboard-container table.stocks-table thead th:nth-child(6),
  .dashboard-container table.stocks-table thead th:nth-child(7) {
    width: 45px !important;
    max-width: 45px !important;
    min-width: 40px !important;
    padding: 0.1rem !important;
    font-size: 0 !important; /* Hide main text */
    text-align: center !important;
  }

  /* Keep the ? tooltip visible */
  .dashboard-container table.stocks-table thead th .price-header-info {
    font-size: 0.6rem !important;
    display: inline-block !important;
  }

  /* PERSONALIZED SIGNAL BADGE - 30% smaller on iPad */
  .dashboard-container table.stocks-table .personalized-signal-badge {
    padding: 0.14rem 0.28rem !important;
    font-size: 0.42rem !important;
    gap: 0.15rem !important;
    border-radius: 4px !important;
  }

  .dashboard-container table.stocks-table .personalized-signal-badge i {
    font-size: 0.38rem !important;
  }

  /* Prediction columns - FORCE TINY WIDTH - NO MIN-WIDTH */
  .dashboard-container table.stocks-table td.prediction-cell,
  .dashboard-container table.stocks-table .prediction-cell {
    width: 35px !important;
    max-width: 35px !important;
    min-width: 0 !important;
    padding: 0.05rem !important;
  }

  /* Prediction content - increased */
  .dashboard-container table.stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.63rem !important;
  }

  .dashboard-container table.stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }

  .dashboard-container table.stocks-table .prediction-cell .ml-prediction .usd-conversion {
    display: none !important;
  }

  /* CHART COLUMN - 50% smaller */
  .dashboard-container table.stocks-table .chart-col,
  .dashboard-container table.stocks-table .chart-cell,
  .dashboard-container table.stocks-table td.chart-cell {
    width: 16px !important;
    max-width: 20px !important;
    min-width: 0 !important;
    padding: 0.05rem !important;
  }

  .dashboard-container table.stocks-table .chart-cell .btn-stock-chart {
    padding: 0.15rem !important;
    min-width: 0 !important;
  }

  .dashboard-container table.stocks-table .chart-cell .btn-stock-chart i {
    font-size: 0.5rem !important;
  }

  /* PRICE */
  .dashboard-container table.stocks-table .price-display-compact .price-container {
    font-size: 0.55rem !important;
  }

  .dashboard-container table.stocks-table .price-display-compact .usd-conversion {
    font-size: 0.42rem !important;
  }

  /* DETAILS CELL - Keep table-cell display, use text-align and whitespace */
  .dashboard-container table.stocks-table td.details-cell {
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.15rem !important;
    min-width: 60px !important;
    max-width: 70px !important;
  }

  /* Hide the mobile-only chart button on iPad */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: none !important;
  }

  /* AI Analysis button - inline-flex, icon only, square */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i:first-child {
    font-size: 0.6rem !important;
    margin: 0 !important;
  }

  /* Hide text and chevron on AI button */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text,
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  /* Transaction dropdown wrapper - inline */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component {
    display: inline-block !important;
  }

  /* Transaction dropdown button - square, same size */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 0.6rem !important;
    margin: 0 !important;
  }

  /* Hide dropdown chevron/arrow */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* EVENTS CELL - Force perfect circle icons */
  .dashboard-container table.stocks-table td.events-cell,
  .dashboard-container table.stocks-table .events-cell {
    max-width: 40px !important;
    padding: 0.1rem !important;
    text-align: center !important;
  }

  .dashboard-container table.stocks-table .events-cell .event-icon,
  .dashboard-container table.stocks-table td.events-cell .event-icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .dashboard-container table.stocks-table .events-cell .event-icon i {
    font-size: 0.5rem !important;
  }

  /* Position cell - compact */
  .dashboard-container table.stocks-table .position-cell {
    max-width: 75px !important;
    padding: 0.1rem !important;
  }
}

/* ============================================
   11-13 inch Laptop Optimizations (1024px - 1280px)
   Fix stacked buttons - make them side by side
   ============================================ */

@media (min-width: 1024px) and (max-width: 1280px) {
  /* DETAILS CELL - Keep table-cell display */
  .dashboard-container table.stocks-table td.details-cell {
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.2rem !important;
    min-width: 65px !important;
  }

  /* Hide the mobile-only chart button */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: none !important;
  }

  /* AI button - inline-flex, square icon only */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i:first-child {
    font-size: 0.65rem !important;
    margin: 0 !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text,
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  /* Transaction dropdown wrapper - inline */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component {
    display: inline-block !important;
  }

  /* Transaction dropdown button - compact, square */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 0.65rem !important;
    margin: 0 !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* Prediction columns - reduced */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 65px !important;
    padding: 0.25rem 0.15rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.6rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
}

/* ============================================
   13-inch Laptop Optimizations (1280px - 1440px)
   Fit AI Analysis and Trade buttons - hide chevron
   HORIZONTAL LAYOUT with inline-flex
   ============================================ */

@media (min-width: 1280px) and (max-width: 1440px) {
  /* DETAILS CELL - Keep table-cell display */
  .dashboard-container table.stocks-table td.details-cell {
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.2rem !important;
    min-width: 70px !important;
  }

  /* Hide the mobile-only chart button */
  .dashboard-container table.stocks-table td.details-cell .btn-details-chart.mobile-only {
    display: none !important;
  }

  /* AI button - inline-flex, square icon only */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-right: 4px !important;
  }

  .dashboard-container table.stocks-table td.details-cell .btn-details-ai i:first-child {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }

  /* Hide text and chevron */
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .chevron-icon,
  .dashboard-container table.stocks-table td.details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }

  /* Transaction dropdown wrapper - inline */
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown {
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .transaction-dropdown-component {
    display: inline-block !important;
  }

  /* Transaction dropdown button - compact on 13" */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
  }

  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }

  /* Hide dropdown caret */
  .dashboard-container table.stocks-table td.details-cell .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table td.details-cell .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* Prediction columns - slightly reduced */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 70px !important;
    padding: 0.25rem 0.2rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.65rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.55rem !important;
  }
}

/* ============================================
   14-15 inch Laptop Optimizations (1440px - 1600px)
   Slightly reduced buttons proportionally
   ============================================ */

@media (min-width: 1441px) and (max-width: 1600px) {
  /* Details cell - slightly reduced */
  .dashboard-container table.stocks-table .details-cell {
    padding: 0.3rem !important;
    min-width: 85px !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai {
    padding: 0.25rem 0.45rem !important;
    font-size: 0.65rem !important;
    min-width: unset !important;
  }

  /* Hide chevron on smaller 15" */
  .dashboard-container table.stocks-table .details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.6rem !important;
  }

  .dashboard-container table.stocks-table .details-cell .btn-details-ai i.fas:not(.chevron-icon) {
    font-size: 0.6rem !important;
  }

  /* Transaction dropdown button - slightly reduced */
  .dashboard-container table.stocks-table .transaction-dropdown-component .btn,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn {
    width: 32px !important;
    height: 30px !important;
    min-width: 32px !important;
    padding: 0 !important;
    
  }

  .dashboard-container table.stocks-table .transaction-dropdown-component .btn i,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn i {
    font-size: 0.7rem !important;
  }

  /* Hide dropdown caret */
  .dashboard-container table.stocks-table .transaction-dropdown-component .btn::after,
  .dashboard-container table.stocks-table .dashboard-transaction-dropdown .btn::after {
    display: none !important;
  }

  /* Prediction columns */
  .dashboard-container table.stocks-table .prediction-cell {
    max-width: 80px !important;
    padding: 0.3rem 0.25rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.7rem !important;
  }

  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.6rem !important;
  }
}

/* ============================================
   Cards & Containers
   ============================================ */

@media (max-width: 768px) {
  .card,
  .summary-card,
  .feature-card {
    margin-bottom: 1rem;
    padding: 1rem;
  }
  
  /* Better spacing on mobile */
  .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* ============================================
   Navigation & Tabs
   ============================================ */

@media (max-width: 768px) {
  .nav-tabs .nav-link {
    padding: 12px 16px;
    font-size: 0.9rem;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
  }

  /* Override above for dashboard segment control */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 0 !important;
    font-size: 0 !important;
    min-height: 0 !important;
      border: none !important;

  }

  .nav-pills .nav-link {
    min-height: 44px;
    padding: 12px 20px;
  }
}

/* ============================================
   Modals & Overlays
   ============================================ */

@media (max-width: 768px) {
  .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  
  .modal-content {
    border-radius: 12px;
  }
  
  .modal-header,
  .modal-body,
  .modal-footer {
    padding: 1rem;
  }
}

/* ============================================
   Safe Area Insets (for notched devices)
   ============================================ */

@supports (padding: env(safe-area-inset-left)) {
  body {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }
  
  .fixed-bottom,
  .chatbot-widget-container {
    padding-bottom: 20px;
    padding-bottom: env(safe-area-inset-bottom, 20px);
  }
  
  .fixed-top {
    padding-top: env(safe-area-inset-top, 0px);
  }
}

/* ============================================
   Performance Optimizations
   ============================================ */

/* Disable hover effects on touch devices */
@media (max-width: 768px) {
  @media (hover: none) {
    .btn:hover,
    a:hover,
    .card:hover {
      transform: none;
      box-shadow: inherit;
    }
  }
}

/* ============================================
   Text Selection
   ============================================ */

/* Allow text selection for better UX */
p,
span,
div,
li {
  -webkit-user-select: text;
  user-select: text;
}

/* But prevent selection on buttons and interactive elements */
button,
.btn,
a,
.nav-link {
  -webkit-user-select: none;
  user-select: none;
}

/* ============================================
   Loading States
   ============================================ */

/* Optimize loading indicators for mobile */
.loading,
.spinner {
  will-change: transform;
  transform: translateZ(0); /* Force GPU acceleration */
}

/* Ensure animations work in webview mode - NO RESTRICTIONS */
/* All animations work normally in webview mode */

/* Force spinner animations in webview mode */
body.webview-mode .refresh-status-component .spinner,
body.webview-mode .refresh-status-component .loading-spinner .spinner,
body.webview-mode .refresh-status-component .loading-content .loading-spinner .spinner,
body.webview-mode .spinner,
body.webview-mode .loading-spinner .spinner,
body.webview-mode .loading .spinner,
.webview-mode .refresh-status-component .spinner,
.webview-mode .refresh-status-component .loading-spinner .spinner,
.webview-mode .refresh-status-component .loading-content .loading-spinner .spinner,
.webview-mode .spinner,
.webview-mode .loading-spinner .spinner,
.webview-mode .loading .spinner {
  animation: spin 1s linear infinite !important;
  -webkit-animation: spin 1s linear infinite !important;
  animation-duration: 1s !important;
  -webkit-animation-duration: 1s !important;
  animation-iteration-count: infinite !important;
  -webkit-animation-iteration-count: infinite !important;
  animation-timing-function: linear !important;
  -webkit-animation-timing-function: linear !important;
  will-change: transform !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* Also ensure animation works on mobile - but exclude webview mode */
@media (max-width: 768px) {
  body:not(.webview-mode) .refresh-status-component .loading-content .loading-spinner .spinner {
    animation: spin 1s linear infinite !important;
    -webkit-animation: spin 1s linear infinite !important;
    will-change: transform !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
  }
  
  /* Ensure keyframes are available */
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
  
  @-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
  }
}

/* ============================================
   Images & Media
   ============================================ */

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Lazy loading fade-in.
   The opacity:0 / .loaded pair was dead code: nothing in the app ever added the
   .loaded class, so EVERY img[loading="lazy"] stayed permanently invisible.
   That is why .stock-logo-mini had to force opacity:1 !important, and why stock
   logos were missing on the stock-analysis pages. Fading in on decode instead
   keeps the intent without hiding anything. */
img[loading="lazy"] {
  animation: lazy-img-fade-in 0.3s ease-out;
}

@keyframes lazy-img-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* ============================================
   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: #cc903c !important;
  box-shadow: 0 0 4px rgba(204, 144, 60, 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: #22c55e;
  font-weight: 700;
}

.wct-row.wct-pnl.positive i {
  color: #22c55e;
}

.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. `clip`, not `hidden`: a `hidden`
     x axis forces a `visible` y axis to compute to `auto` (CSS Overflow 3),
     which would make every .dashboard-container a nested scroll container. */
  .dashboard-container {
    overflow-x: clip;
  }
}

/* ============================================
   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(204, 144, 60, 0.08) 0%, rgba(224, 188, 138, 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: #f7f6f4 !important;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.18) 0%, rgba(224, 188, 138, 0.14) 100%) !important;
  border-color: rgba(204, 144, 60, 0.35) !important;
  font-weight: 600;
  box-shadow: 
    0 6px 20px rgba(204, 144, 60, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 rgba(204, 144, 60, 0.2);
  transform: translateY(-2px);
}

.dashboard-tabs .nav-link.active::before {
  opacity: 1;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.12) 0%, rgba(224, 188, 138, 0.1) 100%);
}

.dashboard-tabs .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc903c 0%, #e0bc8a 100%);
  border-radius: 3px 3px 0 0;
  box-shadow: 
    0 0 16px rgba(204, 144, 60, 0.8),
    0 0 32px rgba(204, 144, 60, 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(204, 144, 60, 0.6));
}

@keyframes tab-glow {
  0%, 100% {
    opacity: 1;
    box-shadow: 
      0 0 16px rgba(204, 144, 60, 0.8),
      0 0 32px rgba(204, 144, 60, 0.4);
  }
  50% {
    opacity: 0.85;
    box-shadow: 
      0 0 20px rgba(204, 144, 60, 0.9),
      0 0 40px rgba(204, 144, 60, 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(204, 144, 60, 0.12) !important;
  border-color: rgba(204, 144, 60, 0.3) !important;
  box-shadow:
    0 4px 12px rgba(204, 144, 60, 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(204, 144, 60, 0.4),
    0 0 16px rgba(204, 144, 60, 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, #000615);
  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(0, 6, 21, 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: #f7f6f4;
  outline: none;
}

.webview-back-btn:active {
  background: rgba(204, 144, 60, 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: #f7f6f4;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 0.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

/* ============================================
   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(204, 144, 60, 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, #000615);
  border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, 0.06));
}

.nv-header-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.nv-header-logo .nv-header-logo-img {
  height: 28px;
  width: auto;
}

.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: #f7f6f4;
}

.nv-lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--bg-secondary, rgba(0, 6, 21, 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: #f7f6f4;
}

.nv-lang-option.active {
  color: var(--accent-primary, #e0bc8a);
}

/* 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(0, 6, 21, 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: 600;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  transition: color 0.2s;
}

.nv-nav-overlay a:hover {
  color: #f7f6f4;
}

.nv-nav-overlay a.nv-nav-cta {
  color: var(--accent-primary, #e0bc8a);
  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: #111825;
  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;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  min-height: 58px;
  height: 58px;
  flex-shrink: 0;
}

/* line 180, app/assets/stylesheets/sidebar.scss */
.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  color: #f7f6f4;
  font-weight: 700;
  font-size: 1rem;
  transition: opacity 0.2s;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 192, app/assets/stylesheets/sidebar.scss */
.sidebar-brand:hover {
  opacity: 0.85;
}

/* line 197, app/assets/stylesheets/sidebar.scss */
.sidebar-logo {
  height: 42px;
  margin-left: 14px;
  width: auto;
  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: #f7f6f4;
}

/* line 232, app/assets/stylesheets/sidebar.scss */
.sidebar-toggle i {
  font-size: 0.75rem;
  transition: transform 0.3s;
}

/* line 241, app/assets/stylesheets/sidebar.scss */
.sidebar-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.35rem 0;
}

/* line 249, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar {
  width: 4px;
}

/* line 252, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

/* line 255, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

/* line 262, app/assets/stylesheets/sidebar.scss */
.sidebar-category {
  margin-bottom: 0.2rem;
}

/* line 265, app/assets/stylesheets/sidebar.scss */
.sidebar-category:not(:first-child) {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 0.55rem;
  margin-top: 0.2rem;
}

/* line 272, app/assets/stylesheets/sidebar.scss */
.sidebar-category-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 1.1rem;
  margin-bottom: 0.175rem;
}

/* line 279, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-header {
  justify-content: center;
  padding: 0.35rem;
}

/* line 285, app/assets/stylesheets/sidebar.scss */
.sidebar-category-icon {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}

/* line 293, app/assets/stylesheets/sidebar.scss */
.sidebar-category-title {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.35);
  white-space: nowrap;
  transition: opacity 0.3s, visibility 0.3s;
}

/* line 302, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-title {
  opacity: 0;
  visibility: hidden;
  width: 0;
}

/* line 309, app/assets/stylesheets/sidebar.scss */
.sidebar-category-logos {
  display: flex;
  gap: 0.25rem;
}

/* line 313, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-logos {
  flex-direction: column;
  gap: 0.125rem;
}

/* line 319, app/assets/stylesheets/sidebar.scss */
.sidebar-platform-logo {
  width: 14px;
  height: 14px;
  object-fit: contain;
  opacity: 0.5;
  border-radius: 3px;
}

/* line 327, app/assets/stylesheets/sidebar.scss */
.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0 0.675rem;
}

/* line 333, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item {
  margin-bottom: 0.1rem;
  position: relative;
}

/* line 340, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(204, 144, 60, 0.05));
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.2);
  position: relative;
}

/* line 345, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #cc903c;
  border-radius: 0 3px 3px 0;
}

/* line 357, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link {
  color: #cc903c;
  background: transparent;
}

/* line 361, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link .sidebar-icon {
  color: #cc903c;
}

/* line 367, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-arrow-btn .sidebar-arrow {
  color: #cc903c;
}

/* line 374, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(204, 144, 60, 0.05));
  color: #cc903c;
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.2);
}

/* line 379, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link .sidebar-icon {
  color: #cc903c;
}

/* line 383, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #cc903c;
  border-radius: 0 3px 3px 0;
}

/* line 398, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.has-submenu > .sidebar-menu-link .sidebar-arrow,
.sidebar-menu-item.has-submenu > .sidebar-menu-link-wrapper .sidebar-arrow {
  margin-left: auto;
  font-size: 0.65rem;
  transition: transform 0.2s;
}

/* line 405, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.has-submenu.open > .sidebar-menu-link .sidebar-arrow, .sidebar-menu-item.has-submenu.open > .sidebar-menu-link-wrapper .sidebar-arrow {
  transform: rotate(180deg);
}

/* line 413, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper {
  display: flex;
  align-items: center;
  border-radius: 10px;
  transition: all 0.2s;
}

/* line 419, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 423, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper .sidebar-menu-link {
  flex: 1;
  border-radius: 10px 0 0 10px;
  padding-right: 0.5rem;
}

/* line 428, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper .sidebar-menu-link:hover {
  background: transparent;
}

/* line 435, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.8rem 0.55rem 0.35rem;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 0 8px 8px 0;
  transition: all 0.2s;
}

/* line 446, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* line 449, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover .sidebar-arrow {
  color: rgba(255, 255, 255, 0.8);
}

/* line 455, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  position: relative;
  cursor: pointer;
}

/* line 467, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #f7f6f4;
}

/* line 472, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15), rgba(204, 144, 60, 0.05));
  color: #cc903c;
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.2);
}

/* line 477, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active .sidebar-icon {
  color: #cc903c;
}

/* line 481, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #cc903c;
  border-radius: 0 3px 3px 0;
}

/* line 495, app/assets/stylesheets/sidebar.scss */
.sidebar-icon {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
  transition: color 0.2s;
}

/* line 506, app/assets/stylesheets/sidebar.scss */
.sidebar-text {
  flex: 1;
  white-space: nowrap;
  transition: opacity 0.3s, visibility 0.3s, width 0.3s;
  font-size: 0.85rem;
  font-weight: 600;
}

/* line 514, app/assets/stylesheets/sidebar.scss */
.sidebar-badge {
  background: #cc903c;
  color: #f7f6f4;
  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(204, 144, 60, 0.3);
}

/* line 527, app/assets/stylesheets/sidebar.scss */
.sidebar-badge-soon {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
  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(204, 144, 60, 0.25);
}

/* line 539, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-soon {
  display: none;
}

/* line 545, app/assets/stylesheets/sidebar.scss */
.sidebar-badge-beta {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.2) 0%, rgba(224, 188, 138, 0.2) 100%);
  color: #e0bc8a;
  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(224, 188, 138, 0.35);
  flex-shrink: 0;
}

/* line 558, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-beta {
  display: none;
}

/* line 564, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 568, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled:hover {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.7);
}

/* line 575, app/assets/stylesheets/sidebar.scss */
.sidebar-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;
}

/* line 583, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.65rem;
}

/* line 591, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s;
  opacity: 0;
}

/* line 601, app/assets/stylesheets/sidebar.scss */
.open > .sidebar-submenu {
  max-height: 500px;
  opacity: 1;
  padding: 0.2rem 0;
}

/* line 608, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.8rem 0.45rem 2.15rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.8rem;
  transition: all 0.2s;
}

/* line 619, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link i {
  font-size: 0.7rem;
  width: 14px;
  opacity: 0.7;
}

/* line 625, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #f7f6f4;
}

/* line 630, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.08);
}

/* line 634, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active i {
  opacity: 1;
}

/* line 640, app/assets/stylesheets/sidebar.scss */
.sidebar-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 0.675rem 0.675rem;
}

/* line 649, app/assets/stylesheets/sidebar.scss */
.sidebar-footer {
  padding: 0.675rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: auto;
  flex-shrink: 0;
}

/* line 656, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle {
  margin-bottom: 0.55rem;
}

/* line 659, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.5rem 0.8rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.8rem;
}

/* line 673, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f7f6f4;
}

/* line 678, app/assets/stylesheets/sidebar.scss */
.sidebar-theme-toggle .theme-btn .theme-icon {
  font-size: 0.8rem;
}

/* line 684, app/assets/stylesheets/sidebar.scss */
.sidebar-user {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  margin-bottom: 0.55rem;
}

/* line 694, app/assets/stylesheets/sidebar.scss */
.sidebar-user-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 702, app/assets/stylesheets/sidebar.scss */
.sidebar-footer-menu {
  padding: 0 0.5rem;
  margin: 0;
  list-style: none;
}

/* line 708, app/assets/stylesheets/sidebar.scss */
.sidebar-category-blog {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 714, app/assets/stylesheets/sidebar.scss */
.sidebar-user-avatar {
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, #cc903c, #956727);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f7f6f4;
  font-size: 0.8rem;
  flex-shrink: 0;
}

/* line 727, app/assets/stylesheets/sidebar.scss */
.sidebar-user-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: opacity 0.3s, visibility 0.3s, width 0.3s;
  line-height: 1.25;
}

/* line 735, app/assets/stylesheets/sidebar.scss */
.sidebar-user-name {
  font-size: 0.8rem;
  font-weight: 600;
  color: #f7f6f4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 744, app/assets/stylesheets/sidebar.scss */
.sidebar-user-plan {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: capitalize;
}

/* line 751, app/assets/stylesheets/sidebar.scss */
.sidebar-logout-form {
  width: 100%;
  margin: 0;
}

/* line 756, app/assets/stylesheets/sidebar.scss */
.sidebar-logout {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.5rem 0.8rem;
  color: rgba(204, 144, 60, 0.9);
  text-decoration: none;
  border-radius: 6px;
  font-size: 0.8rem;
  transition: all 0.2s;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}

/* line 772, app/assets/stylesheets/sidebar.scss */
.sidebar-logout:hover {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
}

/* line 777, app/assets/stylesheets/sidebar.scss */
.sidebar-logout i {
  font-size: 0.8rem;
}

/* line 785, app/assets/stylesheets/sidebar.scss */
.sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}

/* line 795, app/assets/stylesheets/sidebar.scss */
.sidebar-mobile-open .sidebar-overlay {
  opacity: 1;
  visibility: visible;
}

/* line 805, app/assets/stylesheets/sidebar.scss */
.has-sidebar .navbar {
  display: none !important;
}

/* line 809, app/assets/stylesheets/sidebar.scss */
.has-sidebar #main-content {
  margin-left: 260px;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 100vh;
}

/* line 815, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed #main-content {
  margin-left: 72px;
}

/* line 820, app/assets/stylesheets/sidebar.scss */
.has-sidebar .dashboard-tabs {
  display: none !important;
}

/* line 825, app/assets/stylesheets/sidebar.scss */
.has-sidebar .footer,
.has-sidebar footer.footer {
  margin-left: 260px;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0 !important;
}

/* line 833, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed .footer,
.has-sidebar.sidebar-collapsed footer.footer {
  margin-left: 72px;
}

@media (max-width: 1023px) {
  /* line 844, app/assets/stylesheets/sidebar.scss */
  .app-sidebar {
    transform: translateX(-100%);
  }
  /* line 848, app/assets/stylesheets/sidebar.scss */
  .sidebar-mobile-open .app-sidebar {
    transform: translateX(0);
  }
  /* line 853, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .navbar {
    display: flex !important;
  }
  /* line 857, app/assets/stylesheets/sidebar.scss */
  .has-sidebar #main-content {
    margin-left: 0;
  }
  /* line 862, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .dashboard-tabs {
    display: block !important;
  }
  /* line 866, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .footer,
.has-sidebar footer.footer {
    margin-left: 0;
    padding: 0 !important;
  }
}

@media (max-height: 800px) {
  /* line 878, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    min-height: 58px;
    height: 58px;
  }
  /* line 883, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 145px;
    height: 145px;
  }
  /* line 888, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 1.05rem;
  }
  /* line 892, app/assets/stylesheets/sidebar.scss */
  .sidebar-nav {
    padding: 0.2rem 0;
  }
  /* line 896, app/assets/stylesheets/sidebar.scss */
  .sidebar-category {
    margin-bottom: 0.1rem;
  }
  /* line 899, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.35rem;
    margin-top: 0.1rem;
  }
  /* line 905, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.2rem 0.7rem;
    margin-bottom: 0.1rem;
  }
  /* line 910, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.6rem;
    width: 14px;
  }
  /* line 915, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.6rem;
  }
  /* line 919, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu {
    padding: 0 0.55rem;
  }
  /* line 923, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-item {
    margin-bottom: 0.065rem;
  }
  /* line 927, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.45rem 0.7rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 933, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link-wrapper .sidebar-menu-link {
    padding-right: 0.2rem;
  }
  /* line 937, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.45rem 0.7rem 0.45rem 0.2rem;
  }
  /* line 941, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 16px;
    height: 16px;
    font-size: 0.8rem;
  }
  /* line 947, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.8rem;
  }
  /* line 953, app/assets/stylesheets/sidebar.scss */
  .open > .sidebar-submenu {
    padding: 0.1rem 0;
  }
  /* line 958, 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 964, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.675rem;
    width: 12px;
  }
  /* line 971, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.55rem 0.7rem;
  }
  /* line 975, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle {
    margin-bottom: 0.35rem;
  }
  /* line 978, 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 986, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.45rem;
    margin-bottom: 0.35rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 993, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.7rem;
    border-radius: 7px;
  }
  /* line 1000, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.75rem;
  }
  /* line 1004, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.675rem;
  }
  /* line 1008, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.35rem 0.7rem;
    font-size: 0.75rem;
    gap: 0.55rem;
  }
  /* line 1013, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.75rem;
  }
}

@media (max-height: 700px) {
  /* line 1023, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    min-height: 58px;
    height: 58px;
  }
  /* line 1028, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 145px;
    height: 145px;
  }
  /* line 1033, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 0.9rem;
  }
  /* line 1038, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.2rem;
  }
  /* line 1043, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.1rem 0.55rem;
  }
  /* line 1047, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.55rem;
  }
  /* line 1051, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.55rem;
  }
  /* line 1055, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.3rem 0.55rem;
    gap: 0.45rem;
  }
  /* line 1060, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.3rem 0.55rem 0.3rem 0.1rem;
  }
  /* line 1064, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 14px;
    height: 14px;
    font-size: 0.7rem;
  }
  /* line 1070, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.7rem;
  }
  /* line 1074, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link {
    padding: 0.2rem 0.55rem 0.2rem 1.6rem;
    font-size: 0.675rem;
  }
  /* line 1078, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.55rem;
    width: 10px;
  }
  /* line 1084, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.35rem 0.55rem;
  }
  /* line 1088, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle {
    margin-bottom: 0.2rem;
  }
  /* line 1091, app/assets/stylesheets/sidebar.scss */
  .sidebar-theme-toggle .theme-btn {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1097, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.3rem;
    margin-bottom: 0.2rem;
    gap: 0.45rem;
  }
  /* line 1103, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 25px;
    height: 25px;
    font-size: 0.6rem;
  }
  /* line 1109, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.675rem;
  }
  /* line 1113, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.55rem;
  }
  /* line 1117, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1121, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.675rem;
  }
}

/* line 1131, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .app-sidebar {
  background: var(--bg-primary, #f4f2ed);
  border-right-color: var(--border-color, #d0ccc5);
}

/* line 1136, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-header {
  border-bottom-color: var(--border-color, #d0ccc5);
}

/* line 1140, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-brand {
  color: var(--text-primary, #111111);
}

/* line 1144, 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 1149, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-toggle:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1155, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link {
  color: var(--text-secondary, #333333);
}

/* line 1158, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1163, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link.active {
  color: var(--accent-primary, #cc903c);
}

/* line 1169, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-menu-link-wrapper:hover {
  background: var(--bg-secondary, #eae7e1);
}

/* line 1175, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow-btn:hover {
  background: var(--bg-input, #efede7);
}

/* line 1178, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow-btn:hover .sidebar-arrow {
  color: var(--text-secondary, #333333);
}

/* line 1184, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-arrow {
  color: var(--text-muted, #666666);
}

/* line 1188, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link {
  color: var(--text-secondary, #333333);
}

/* line 1191, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* line 1196, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-submenu-link.active {
  color: var(--accent-primary, #cc903c);
  background: rgba(204, 144, 60, 0.08);
}

/* line 1202, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-divider {
  background: var(--border-color, #d0ccc5);
}

/* line 1207, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-category:not(:first-child) {
  border-top-color: var(--border-color, #d0ccc5);
}

/* line 1212, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-category-icon,
[data-theme="light"] .sidebar-category-title {
  color: var(--text-muted, #666666);
}

/* line 1217, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-footer {
  border-top-color: var(--border-color, #d0ccc5);
}

/* line 1221, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user {
  background: var(--bg-card-solid, #faf9f6);
}

/* line 1225, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user-name {
  color: var(--text-primary, #111111);
}

/* line 1229, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-user-plan {
  color: var(--text-muted, #666666);
}

/* line 1233, 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 1238, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .sidebar-theme-toggle .theme-btn:hover {
  background: var(--bg-secondary, #eae7e1);
  color: var(--text-primary, #111111);
}

/* ===== Undiscovered Page Icon Glow ===== */
@keyframes icon-glow-pulse {
  0%, 100% {
    filter: drop-shadow(0 0 6px rgba(204, 144, 60, 0.8)) drop-shadow(0 0 12px rgba(204, 144, 60, 0.5)) drop-shadow(0 0 20px rgba(204, 144, 60, 0.25));
    opacity: 1;
  }
  50% {
    filter: drop-shadow(0 0 10px #cc903c) drop-shadow(0 0 20px rgba(204, 144, 60, 0.7)) drop-shadow(0 0 35px rgba(204, 144, 60, 0.35));
    opacity: 0.9;
  }
}

/* line 1257, app/assets/stylesheets/sidebar.scss */
.undiscovered-glow {
  color: #cc903c !important;
  animation: icon-glow-pulse 2.5s ease-in-out infinite;
}

/* line 1262, app/assets/stylesheets/sidebar.scss */
[data-theme="light"] .undiscovered-glow {
  color: #a97832 !important;
  animation-name: icon-glow-pulse;
}
/* ============================================
   WEBVIEW BOTTOM NAVIGATION MENU
   Modern tab bar — inspired by Slack/GitHub mobile
   ============================================ */

/* Hide bottom nav on desktop unless in webview mode or on mobile/iPad */
.webview-bottom-nav {
  display: none !important;
}

body.webview-mode:not(.is-landing) .webview-bottom-nav {
  display: block !important;
}

@media (max-width: 1024px) {
  body:not(.is-landing) .webview-bottom-nav {
    display: block !important;
  }
}

/* Hide bottom nav when a fullscreen modal is open — must beat webview-mode specificity (0-3-1) */
body.webview-mode.modal-open .webview-bottom-nav,
body.modal-open .webview-bottom-nav {
  display: none !important;
}

/* ...and while the FULLSCREEN chatbot panel is open.
   The nav pill occupies y ~741-798 on an iPhone 12 and the composer's touch
   target is y ~746-796 -- total overlap. The chatbot paints over it (10003 vs
   9999) so it is invisible, but it is pointer-events:auto, backdrop-filtered
   and force-composited (translateZ(0) + will-change:transform, re-asserted
   !important in webview_hide_elements.css): the exact configuration where
   WKWebView's touch delivery and paint order can disagree. Taking it out of the
   tree costs nothing.

   THIS RULE MUST LIVE IN THIS FILE. A `body.chatbot-open .webview-bottom-nav`
   rule at the end of chatbot_widget.css is (0,2,1) at all.css slot 17: it loses
   on SPECIFICITY to `body.webview-mode:not(.is-landing)
   .webview-bottom-nav` (0,3,1 -- :not()/:has() take their argument's
   specificity) and loses the (0,2,1) tie on SOURCE ORDER (slot 22). Here, the
   compound form ties at (0,3,1) and wins on source order, and the second
   selector ties the other rule and wins on source order too. If :has() does not
   parse (Safari < 15.4) those rules drop entirely and the earlier rule in this
   file hides the nav anyway -- so this is correct in both worlds.

   Media-gated to the SAME query as the fullscreen panel in chatbot_widget.css.
   At 768-1024px the chatbot is a corner card and `webview-mode` is applied to
   every viewport <=1024px, so hiding the app's primary navigation there would
   be a regression.

   Keyed off a body class the controller toggles, NOT :has() -- no new
   dependency on Safari 15.4. */
@media (max-width: 767px), (max-width: 1024px) and (max-height: 500px) {
  body.webview-mode.chatbot-open .webview-bottom-nav,
  body.chatbot-open .webview-bottom-nav {
    display: none !important;
    pointer-events: none !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: 600;
  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: #f7f6f4;
  background: transparent !important;
}

.webview-nav-item.active i {
  color: #e0bc8a;
}

.webview-nav-item.active .webview-nav-label {
  color: #f7f6f4;
  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: 600;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 1px;
}

.webview-nav-item-ai.active {
  background: transparent;
}

.webview-nav-item-ai.active i {
  color: #e0bc8a;
}

.webview-nav-item-ai.active .webview-nav-label {
  color: #f7f6f4;
}

/* Badges */
.webview-nav-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  background: #ef4444;
  color: #f7f6f4;
  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: #cc903c;
  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: 600;
  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: #f7f6f4;
}

.webview-nav-dropup.active .webview-nav-dropup-trigger i {
  color: #e0bc8a;
}

.webview-nav-dropup.active .webview-nav-dropup-trigger .webview-nav-label {
  color: #f7f6f4;
  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: #f7f6f4;
}

.webview-dropup-item.active {
  background: rgba(204, 144, 60, 0.08);
  color: #cc903c;
}

.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: 600;
  white-space: nowrap;
}

/* Badge in drop-up menu */
.webview-dropup-badge {
  background: #ef4444;
  color: #f7f6f4;
  border-radius: 10px;
  min-width: 16px;
  height: 16px;
  font-size: 0.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  margin-left: auto;
}

/* No arrow needed — menu is fixed positioned */
.webview-dropup-menu::after {
  display: none;
}

/* Right-aligned dropup (for Profile/Settings which is on the right side) */
.webview-nav-dropup-right .webview-dropup-menu {
  left: auto;
  right: 0;
}

/* Mobile adjustments for dropup */
@media (max-width: 575px) {
  .webview-nav-dropup-trigger {
    min-width: 48px;
    padding: 5px 8px;
    border-radius: 8px;
  }

  .webview-nav-dropup-trigger i {
    font-size: 1.1rem;
  }

  .webview-nav-dropup-trigger .webview-nav-label {
    font-size: 0.575rem;
  }

  .webview-dropup-menu {
    min-width: 150px;
    padding: 5px;
    border-radius: 12px;
  }

  .webview-dropup-item {
    padding: 9px 12px;
    gap: 8px;
  }

  .webview-dropup-item i {
    font-size: 0.9rem;
  }

  .webview-dropup-item span {
    font-size: 0.8rem;
  }
}

/* ============================================
   HIDE CHATBOT TOGGLE BUTTON IN WEBVIEW MODE
   ============================================ */

.webview-mode .chatbot-widget-container .chatbot-toggle-btn {
  display: none !important;
}

/* Show chatbot window when opened from bottom nav */
.webview-mode .chatbot-window {
  z-index: 10001;
}

/* ===== New Page Discovery Dot (Mobile) ===== */
.new-page-dot-mobile {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 6px;
  height: 6px;
  margin-left: 0;
}

.webview-nav-item {
  position: relative;
}

.webview-nav-dropup-trigger {
  position: relative;
}

.new-page-dot-dropup {
  width: 6px;
  height: 6px;
  margin-left: auto;
  flex-shrink: 0;
}

.webview-dropup-item {
  position: relative;
}
/* ============================================
   HIDE ELEMENTS IN WEBVIEW MODE
   ============================================ */

/* Fix html and body to prevent double scroll - ONLY body should scroll */
html.webview-mode {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: none !important;
  width: 100% !important;
  transform: none !important;
  -webkit-transform: none !important;
  scroll-behavior: auto !important;
}

body.webview-mode {
  /* The VIEWPORT scrolls (via html.webview-mode above) — body must not.
     This block used to set `overflow-y: auto` + `height: 100vh`, which made
     body a second scroll container nested in html's: on mobile `100vh` is the
     toolbars-retracted viewport, so body's box was taller than the screen AND
     its content taller than the box. Two scrollers, and the bottom of the page
     unreachable. height is gone and only min-height remains, so body grows with
     its content. `clip` rather than `hidden` on x: per CSS Overflow 3 a `hidden`
     x axis forces a `visible` y axis to compute to `auto`, which is what kept
     re-creating the scroll container every time this was "fixed". */
  position: relative !important;
  overflow-x: clip !important;
  -webkit-overflow-scrolling: touch !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;
}

/* scrollbar-width inherited from body — no universal selector needed */
body.webview-mode {
  scrollbar-width: none !important; /* Firefox */
  -ms-overflow-style: none !important; /* IE/Edge */
}

/* 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 div,
.webview-mode .preferences-form section,
.webview-mode .preferences-form fieldset {
  overflow-y: visible !important;
}

.webview-mode .preferences-form .summary-card,
.webview-mode .preferences-form .summary-card div {
  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 key children of stocks-section to not scroll in webview */
/* Targeted selectors instead of universal * to avoid expensive layout recalc */
.webview-mode .stocks-section div,
.webview-mode .stocks-section section,
.webview-mode .stocks-section table,
.webview-mode .stocks-section tbody,
.webview-mode .stocks-section tr,
.webview-mode .stocks-section td,
.webview-mode .stocks-section th,
.webview-mode .stocks-section ul,
.webview-mode .stocks-section ol,
.webview-mode .stocks-section li,
.webview-mode .stocks-section nav,
.webview-mode .stocks-section article,
.webview-mode .stocks-section aside,
.webview-mode .stocks-section main,
.webview-mode .stocks-section figure {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  max-height: none !important;
}

/* Exclude elements that need overflow:hidden */
.webview-mode .stocks-section .event-text,
.webview-mode .stocks-section .event-text-wrapper,
.webview-mode .stocks-section .stock-name-inline,
.webview-mode .stocks-section .reasoning-text,
.webview-mode .stocks-section .form-check-input,
.webview-mode .stocks-section .form-switch,
.webview-mode .stocks-section .form-check,
.webview-mode .stocks-section .mobile-j1-conf-bar,
.webview-mode .stocks-section .conf-medium,
.webview-mode .stocks-section .conf-high,
.webview-mode .stocks-section .conf-low,
.webview-mode .stocks-section .conf-fill,
.webview-mode .stocks-section .ag-fullscreen-modal,
.webview-mode .stocks-section .ag-fullscreen-body,
.webview-mode .stocks-section .ag-fullscreen-header {
  overflow: revert !important;
  max-height: revert !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 .account-page-content,
.webview-mode .stocks-section .account-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-y: visible !important;
  /* Prevent horizontal scroll on preferences page. `clip`, not `hidden`:
     `hidden` here would force overflow-y back to `auto` and re-create the
     nested scroll container this whole block exists to prevent. */
  overflow-x: clip !important;
}

/* Prevent horizontal scroll on account/preferences page.
   `clip`, not `hidden` — same reason as above. With `hidden` this single rule
   turned .dashboard-container, .container, #main-content AND body into four
   nested vertical scroll containers on every mobile page. */
.webview-mode .dashboard-container,
.webview-mode .container,
.webview-mode #main-content,
.webview-mode body {
  overflow-x: clip !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.
   NOTE: this selector is not devise-only — the layout puts `min-vh-100` on
   every body, so it matches every webview page. It used to carry
   `overflow-y: auto`, which made body a scroll container nested inside the
   viewport's: the page then had two scrollbars and its bottom was unreachable.
   Letting the document scroll gives exactly the intended behaviour ("scroll
   only if content exceeds the viewport") without a second scroller. */
.webview-mode body.min-vh-100 {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: 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 {
    /* "Scroll only if content exceeds viewport" is what the document scroller
       already does. `overflow-y: auto` here made body a second scroller —
       and being inside a mobile-only media query, that is why the double
       scroll showed up on phones and nowhere else. */
    /* 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(27, 35, 51, 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: #cc903c !important;
  border-color: #cc903c !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(.is-landing) .navbar {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Hide footer (replaced by bottom nav) — NOT on landing, NOT driver.js popover footer */
  body:not(.is-landing) footer:not(.driver-popover-footer),
  body:not(.is-landing) .site-footer,
  body:not(.is-landing) .footer {
    display: none !important;
  }

  /* Hide dashboard/page headers — NOT on landing */
  body:not(.is-landing) .dashboard-header {
    display: none !important;
  }

  /* Hide page title/subtitle — NOT on landing */
  body:not(.is-landing) .dashboard-title,
  body:not(.is-landing) .dashboard-subtitle,
  body:not(.is-landing) h1.dashboard-title,
  body:not(.is-landing) h2.dashboard-title,
  body:not(.is-landing) h3.dashboard-title {
    display: none !important;
  }

  /* Container padding adjustments — NOT on landing */
  body:not(.is-landing) .dashboard-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body:not(.is-landing) .container {
    padding-top: 0.5rem !important;
  }

  body:not(.is-landing) #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(.is-landing) input[type="text"],
  body:not(.is-landing) input[type="email"],
  body:not(.is-landing) input[type="password"],
  body:not(.is-landing) input[type="tel"],
  body:not(.is-landing) input[type="number"],
  body:not(.is-landing) input[type="search"],
  body:not(.is-landing) textarea,
  body:not(.is-landing) select,
  body:not(.is-landing) .form-control {
    font-size: 16px !important;
  }

  /* Hide scrollbars — NOT on landing */
  body:not(.is-landing) ::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  body:not(.is-landing) {
    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: #f7f6f4;
  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, #e0bc8a);
  border: none;
  color: #f7f6f4;
  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: #cc903c !important;
  --driver-theme-secondary: #a97832 !important;
}

.driver-popover {
  background: linear-gradient(145deg, #1a1f35 0%, #0f1424 100%) !important;
  border: 1px solid rgba(204, 144, 60, 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: #f7f6f4 !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: #f7f6f4 !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(204, 144, 60, 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: #f7f6f4 !important;
}

/* Next/Done button - primary accent */
.driver-popover-next-btn {
  background: linear-gradient(135deg, #cc903c 0%, #a97832 100%) !important;
  border: none !important;
  color: #000615 !important;
  font-weight: 700 !important;
}

.driver-popover-next-btn:hover {
  background: linear-gradient(135deg, #00e4b8 0%, #00c9a0 100%) !important;
  color: #000615 !important;
  box-shadow: 0 6px 20px rgba(204, 144, 60, 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: #f7f6f4 !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(204, 144, 60, 0.3) !important;
  overflow: visible !important;
}

/* Search dropdown must sit above the Driver.js overlay (z-index ~10000) */
.driver-active-element [data-search-target="results"] {
  z-index: 100000 !important;
}

/* Arrow styling */
.driver-popover-arrow {
  border-color: transparent !important;
}

.driver-popover-arrow-side-left {
  border-right-color: #1a1f35 !important;
}

.driver-popover-arrow-side-right {
  border-left-color: #1a1f35 !important;
}

.driver-popover-arrow-side-top {
  border-bottom-color: #1a1f35 !important;
}

.driver-popover-arrow-side-bottom {
  border-top-color: #1a1f35 !important;
}

/* Tablet adjustments */
@media (max-width: 900px) {
  .driver-popover {
    max-width: min(400px, 90vw) !important;
  }

  .driver-popover-prev-btn,
  .driver-popover-next-btn {
    font-size: 0.82rem !important;
    padding: 0.5rem 0.8rem !important;
  }

  .onboarding-dismiss-link {
    font-size: 0.82rem !important;
    padding: 0.5rem 0.8rem !important;
  }
}

/* Mobile adjustments */
@media (max-width: 600px) {
  .onboarding-floating-btn {
    bottom: 80px;
    right: 15px;
    width: 45px;
    height: 45px;
    font-size: 1rem;
  }

  .driver-popover {
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    margin: 0 12px !important;
  }

  /* Keep everything on one line, smaller sizing */
  .driver-popover-footer {
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;
  }

  .driver-popover-progress-text {
    flex: 0 0 auto !important;
    min-width: 30px !important;
  }

  /* "Plus tard" — compact, never grows */
  .onboarding-dismiss-link {
    flex: 0 0 auto !important;
    font-size: 0.75rem !important;
    padding: 0.45rem 0.55rem !important;
    white-space: nowrap !important;
  }

  .driver-popover-navigation-btns {
    flex: 0 0 auto !important;
    gap: 0.3rem !important;
    margin-left: auto !important;
  }

  .driver-popover-prev-btn,
  .driver-popover-next-btn {
    font-size: 0.78rem !important;
    padding: 0.45rem 0.6rem !important;
    white-space: nowrap !important;
  }
}

/* Webview mode - adjust for bottom nav */
.webview-mode .onboarding-floating-btn {
  bottom: 120px;
}

/* Light mode overrides */
[data-theme="light"] .driver-popover {
  background: var(--bg-card-solid) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow:
    0 25px 50px rgba(0, 0, 0, 0.12),
    0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .driver-popover-title {
  color: var(--text-primary) !important;
}

[data-theme="light"] .driver-popover-description {
  color: var(--text-muted) !important;
}

[data-theme="light"] .driver-popover-footer {
  border-top: 1px solid var(--border-color) !important;
}

[data-theme="light"] .driver-popover-progress-text {
  color: var(--text-muted) !important;
}

[data-theme="light"] .driver-popover-prev-btn,
[data-theme="light"] .driver-popover-next-btn {
  background: var(--bg-input) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="light"] .driver-popover-prev-btn:hover,
[data-theme="light"] .driver-popover-next-btn:hover {
  background: var(--border-color) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .driver-popover-prev-btn {
  background: var(--bg-primary) !important;
  border: 1px solid var(--border-color) !important;
  color: var(--text-secondary) !important;
}

[data-theme="light"] .driver-popover-prev-btn:hover {
  color: var(--text-primary) !important;
}

[data-theme="light"] .driver-popover-close-btn {
  color: var(--text-muted) !important;
}

[data-theme="light"] .driver-popover-close-btn:hover {
  color: var(--text-primary) !important;
  background: var(--bg-input) !important;
}

[data-theme="light"] .driver-popover-arrow-side-left {
  border-right-color: var(--bg-card-solid) !important;
}

[data-theme="light"] .driver-popover-arrow-side-right {
  border-left-color: var(--bg-card-solid) !important;
}

[data-theme="light"] .driver-popover-arrow-side-top {
  border-bottom-color: var(--bg-card-solid) !important;
}

[data-theme="light"] .driver-popover-arrow-side-bottom {
  border-top-color: var(--bg-card-solid) !important;
}

/* line 15, app/assets/stylesheets/api_docs.scss */
.api-docs-hero {
  padding: 120px 0 80px;
  background: linear-gradient(180deg, rgba(204, 144, 60, 0.05) 0%, #000615 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: 700;
  color: #f7f6f4;
  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(204, 144, 60, 0.15);
  color: #e0bc8a;
  font-size: 12px;
  font-weight: 600;
  border-radius: 100px;
  margin-bottom: 20px;
  border: 1px solid rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  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(204, 144, 60, 0.4);
  color: #f7f6f4;
}

/* line 74, app/assets/stylesheets/api_docs.scss */
.api-docs-container {
  padding: 60px 0 100px;
  background: #000615;
}

/* 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: #f7f6f4;
}

/* 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: #f7f6f4;
  margin-bottom: 20px;
}

/* line 157, app/assets/stylesheets/api_docs.scss */
.api-section h3 {
  font-size: 20px;
  font-weight: 600;
  color: #f7f6f4;
  margin: 30px 0 15px;
}

/* line 164, app/assets/stylesheets/api_docs.scss */
.api-section h4 {
  font-size: 16px;
  font-weight: 600;
  color: #f7f6f4;
  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(204, 144, 60, 0.1);
  color: #e0bc8a;
  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: #cc903c;
}

/* line 212, app/assets/stylesheets/api_docs.scss */
.api-info-box {
  background: rgba(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.2);
}

/* line 216, app/assets/stylesheets/api_docs.scss */
.api-info-box h4 {
  color: #e0bc8a;
}

/* line 221, app/assets/stylesheets/api_docs.scss */
.api-warning-box {
  background: rgba(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.2);
  display: flex;
  gap: 15px;
}

/* line 227, app/assets/stylesheets/api_docs.scss */
.api-warning-box i {
  color: #cc903c;
  font-size: 18px;
  margin-top: 2px;
}

/* line 233, app/assets/stylesheets/api_docs.scss */
.api-warning-box p {
  margin: 0;
  color: #e0bc8a;
}

/* 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: #111825;
  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: #cc903c;
  margin-bottom: 12px;
}

/* line 260, app/assets/stylesheets/api_docs.scss */
.api-feature h5 {
  font-size: 15px;
  font-weight: 600;
  color: #f7f6f4;
  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: #f7f6f4;
}

/* 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(204, 144, 60, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(204, 144, 60, 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: #000615;
  min-height: 100vh;
  color: #f7f6f4;
  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(27, 35, 51, 0.9) 0%, rgba(27, 35, 51, 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, #cc903c 0%, #e0bc8a 100%);
  border-radius: 10px 10px 0 0;
}

/* line 73, app/assets/stylesheets/company_settings.scss */
.company-card:hover {
  border-color: rgba(204, 144, 60, 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: #f7f6f4;
}

/* line 90, app/assets/stylesheets/company_settings.scss */
.card-header-custom h5 i {
  color: #cc903c;
  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(204, 144, 60, 0.15);
  color: #cc903c;
  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: 600;
  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: #f7f6f4;
  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(204, 144, 60, 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(204, 144, 60, 0.15);
  color: #cc903c;
  border-color: rgba(204, 144, 60, 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: 600;
}

/* line 171, app/assets/stylesheets/company_settings.scss */
.status-badge.status-enabled {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* 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(204, 144, 60, 0.2);
  color: #cc903c;
}

/* 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(224, 188, 138, 0.15);
  color: #e0bc8a;
  border: 1px solid rgba(224, 188, 138, 0.3);
  border-radius: 5px;
  font-size: 0.65rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 206, app/assets/stylesheets/company_settings.scss */
.btn-docs:hover {
  background: rgba(224, 188, 138, 0.25);
  color: #e0bc8a;
  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: #cc903c;
  border: 1px solid rgba(204, 144, 60, 0.4);
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  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(204, 144, 60, 0.15);
  border-color: #cc903c;
}

/* 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, #cc903c 0%, #e0bc8a 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(204, 144, 60, 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(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 279, app/assets/stylesheets/company_settings.scss */
.token-textarea {
  width: 100%;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 6px;
  padding: 0.85rem;
  color: #cc903c;
  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: #cc903c;
}

/* line 297, app/assets/stylesheets/company_settings.scss */
.alert-warning-custom {
  background: rgba(204, 144, 60, 0.1);
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 6px;
  padding: 0.6rem 0.85rem;
  color: #cc903c;
  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: #f7f6f4;
  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, #cc903c, #e0bc8a);
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* line 363, app/assets/stylesheets/company_settings.scss */
.recent-calls-title {
  color: #f7f6f4;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.85rem;
}

/* line 369, app/assets/stylesheets/company_settings.scss */
.recent-calls-title i {
  color: #cc903c;
}

/* 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(204, 144, 60, 0.1);
  color: #cc903c;
  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(204, 144, 60, 0.05);
}

/* line 437, app/assets/stylesheets/company_settings.scss */
.team-member-avatar {
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  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: 600;
  color: #f7f6f4;
  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, #cc903c, #e0bc8a);
  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: #f7f6f4;
  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: #cc903c;
}

/* 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, #cc903c, #e0bc8a);
  color: #000;
  padding: 0.6rem 1rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  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(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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(224, 188, 138, 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: #f7f6f4;
  box-shadow: 0 6px 20px rgba(0, 160, 130, 0.2);
  margin: 0 auto 0.75rem;
  position: relative;
}

/* line 213, app/assets/stylesheets/subscription_gate.scss */
.gate-icon::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: inherit;
  background: inherit;
  z-index: -1;
  opacity: 0.5;
  filter: blur(10px);
  animation: gate-pulse-glow 3s ease-in-out infinite;
}

/* line 225, 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 230, app/assets/stylesheets/subscription_gate.scss */
.gate-icon.sim-icon, .gate-icon.graph-icon {
  background: linear-gradient(135deg, #d4a520 0%, #b8891c 100%);
  box-shadow: 0 6px 20px rgba(212, 165, 32, 0.2);
}

@keyframes gate-pulse-glow {
  0%, 100% {
    opacity: 0.5;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.04);
  }
}

/* line 242, app/assets/stylesheets/subscription_gate.scss */
.gate-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 249, app/assets/stylesheets/subscription_gate.scss */
.gate-title-large {
  font-size: 2.2rem;
  font-weight: 700;
  background: linear-gradient(135deg, #ffffff 0%, #cc903c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}

/* line 259, 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 266, 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 274, app/assets/stylesheets/subscription_gate.scss */
.gate-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 279, 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 288, app/assets/stylesheets/subscription_gate.scss */
.gate-features li i {
  flex-shrink: 0;
  margin-top: 2px;
}

/* line 295, app/assets/stylesheets/subscription_gate.scss */
.gate-features-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem;
}

/* line 303, 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 312, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-mini {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 318, 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 328, 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 336, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-wrapper:hover {
  transform: translateY(-3px);
}

/* line 341, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-header {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.08) 0%, rgba(204, 144, 60, 0.03) 100%);
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-color-light);
}

/* line 347, app/assets/stylesheets/subscription_gate.scss */
.demo-badge {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
  padding: 0.35rem 0.8rem;
  border-radius: 16px;
  font-weight: 600;
  font-size: 0.8rem;
}

/* line 355, app/assets/stylesheets/subscription_gate.scss */
.demo-badge.geo-badge {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}

/* line 360, app/assets/stylesheets/subscription_gate.scss */
.demo-badge.sim-badge, .demo-badge.graph-badge {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
}

/* line 367, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-content {
  position: relative;
  padding: 1.5rem;
  min-height: 300px;
}

/* line 373, 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 385, app/assets/stylesheets/subscription_gate.scss */
.fake-sentiment-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 391, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo {
  text-align: center;
}

/* line 394, 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 402, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-bar {
  height: 12px;
  background: linear-gradient(90deg, #dc3545 0%, #cc903c 50%, #28a745 100%);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  opacity: 0.8;
}

/* line 411, 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 420, 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 428, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-score {
  font-size: 2rem;
  font-weight: 700;
  color: #28a745;
  margin-top: 0.3rem;
}

/* line 434, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-score small {
  font-size: 1rem;
  color: var(--text-muted);
}

/* line 442, 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 449, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 455, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-tag {
  background: rgba(204, 144, 60, 0.08);
  color: var(--text-secondary);
  padding: 0.3rem 0.7rem;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid var(--border-color-light);
}

/* line 464, app/assets/stylesheets/subscription_gate.scss */
.trending-topics-demo .topic-tag.hot {
  background: rgba(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 0.3);
  color: #cc903c;
}

/* line 472, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

/* line 477, 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 485, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row i {
  font-size: 1.1rem;
  width: 20px;
  text-align: center;
}

/* line 486, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-name {
  flex: 1;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

/* line 487, 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 493, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood.bullish {
  color: #28a745;
  background: rgba(40, 167, 69, 0.1);
}

/* line 494, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood.neutral {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.1);
}

/* line 495, app/assets/stylesheets/subscription_gate.scss */
.sentiment-sources-demo .source-row .source-mood.bearish {
  color: #dc3545;
  background: rgba(220, 53, 69, 0.1);
}

/* line 501, app/assets/stylesheets/subscription_gate.scss */
.fake-geo-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 507, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 512, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-level {
  text-align: center;
}

/* line 515, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-level .defcon-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: #cc903c;
  line-height: 1;
}

/* line 521, 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 529, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar {
  display: flex;
  gap: 4px;
  flex: 1;
}

/* line 534, 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 540, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(1) {
  background: #28a745;
}

/* line 541, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(2) {
  background: #cc903c;
}

/* line 542, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(3) {
  background: #fd7e14;
}

/* line 543, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(4) {
  background: #dc3545;
}

/* line 544, app/assets/stylesheets/subscription_gate.scss */
.defcon-demo .defcon-bar .defcon-segment.active:nth-child(5) {
  background: #8b0000;
}

/* line 549, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem;
  background: rgba(204, 144, 60, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(204, 144, 60, 0.15);
}

/* line 558, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-icon {
  font-size: 2rem;
}

/* line 559, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info {
  display: flex;
  flex-direction: column;
}

/* line 563, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-label {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 564, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-value {
  font-weight: 700;
  color: #fd7e14;
  font-size: 1rem;
}

/* line 564, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-value.elevated {
  color: #cc903c;
}

/* line 565, app/assets/stylesheets/subscription_gate.scss */
.pizza-demo .pizza-info .pizza-detail {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* line 569, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 574, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 579, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-flags {
  font-size: 0.9rem;
  min-width: 70px;
}

/* line 580, 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 587, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 1s ease;
}

/* line 592, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill.high {
  background: linear-gradient(90deg, #fd7e14, #dc3545);
}

/* line 593, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill.critical {
  background: linear-gradient(90deg, #dc3545, #8b0000);
}

/* line 594, app/assets/stylesheets/subscription_gate.scss */
.tensions-demo .tension-row .tension-bar .tension-fill.moderate {
  background: linear-gradient(90deg, #cc903c, #fd7e14);
}

/* line 597, 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 608, app/assets/stylesheets/subscription_gate.scss */
.fake-sim-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 614, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo {
  padding: 1rem;
  background: rgba(204, 144, 60, 0.05);
  border-radius: 10px;
  border: 1px solid rgba(204, 144, 60, 0.15);
}

/* line 620, 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 626, 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 632, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-tags {
  display: flex;
  gap: 0.4rem;
}

/* line 636, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-tags .tag {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  padding: 0.2rem 0.6rem;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 647, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 652, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 657, 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 665, 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 672, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill {
  height: 100%;
  border-radius: 4px;
}

/* line 676, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill.negative {
  background: linear-gradient(90deg, #dc3545, #ff6b6b);
}

/* line 677, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill.positive {
  background: linear-gradient(90deg, #28a745, #51cf66);
}

/* line 681, 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 687, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value.negative {
  color: #dc3545;
}

/* line 688, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value.positive {
  color: #28a745;
}

/* line 693, 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 700, 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 706, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

/* line 710, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value.negative {
  color: #dc3545;
}

/* line 711, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value.positive {
  color: #28a745;
}

/* line 713, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-detail {
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* line 720, app/assets/stylesheets/subscription_gate.scss */
.graph-chart-demo {
  position: relative;
  min-height: 400px;
}

/* line 725, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg {
  width: 100%;
  height: 400px;
  display: block;
}

/* line 731, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg > line {
  opacity: 0;
  animation: gate-fade-in 0.8s ease-out forwards;
}

/* line 738, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg .support-line,
.demo-chart-svg .resistance-line {
  animation: gate-fade-in 1.2s ease-out forwards 0.3s;
}

/* line 745, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line[stroke="#cc903c"],
.demo-chart-svg line[stroke="#dc3545"] {
  opacity: 0;
  animation: gate-fade-in 0.3s ease-out forwards;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(7) {
  animation-delay: 0.6s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(8) {
  animation-delay: 0.7s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(9) {
  animation-delay: 0.8s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(10) {
  animation-delay: 0.9s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(11) {
  animation-delay: 1s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(12) {
  animation-delay: 1.1s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(13) {
  animation-delay: 1.2s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(14) {
  animation-delay: 1.3s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(15) {
  animation-delay: 1.4s;
}

/* line 752, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(16) {
  animation-delay: 1.5s;
}

/* line 756, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect {
  opacity: 0;
  transform: scaleY(0);
  transform-origin: bottom;
  animation: gate-grow-candle 0.4s ease-out forwards;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(1) {
  animation-delay: 0.6s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(2) {
  animation-delay: 0.7s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(3) {
  animation-delay: 0.8s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(4) {
  animation-delay: 0.9s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(5) {
  animation-delay: 1s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(6) {
  animation-delay: 1.1s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(7) {
  animation-delay: 1.2s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(8) {
  animation-delay: 1.3s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(9) {
  animation-delay: 1.4s;
}

/* line 764, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(10) {
  animation-delay: 1.5s;
}

/* line 767, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg .trend-line {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: gate-draw-line 2s ease-out forwards 1.6s;
}

@keyframes gate-draw-line {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes gate-fade-in {
  to {
    opacity: 1;
  }
}

@keyframes gate-grow-candle {
  0% {
    opacity: 0;
    transform: scaleY(0);
  }
  50% {
    opacity: 0.9;
  }
  100% {
    opacity: 0.9;
    transform: scaleY(1);
  }
}

/* line 788, app/assets/stylesheets/subscription_gate.scss */
.graph-annotation {
  position: absolute;
  padding: 0.45rem 0.9rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.78rem;
  color: #f7f6f4;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  opacity: 0;
  animation: gate-slide-annotation 0.8s ease-out forwards, gate-pulse-annotation 3s ease-in-out infinite 1s;
  z-index: 10;
}

/* line 802, app/assets/stylesheets/subscription_gate.scss */
.graph-annotation.annotation-resistance {
  top: 6%;
  right: 6%;
  background: linear-gradient(135deg, rgba(179, 58, 66, 0.95), rgba(140, 45, 52, 0.95));
  border: 1px solid rgba(220, 100, 110, 0.5);
  animation-delay: 2.8s;
}

/* line 810, app/assets/stylesheets/subscription_gate.scss */
.graph-annotation.annotation-current {
  top: 42%;
  right: 2%;
  background: linear-gradient(135deg, rgba(212, 165, 32, 0.96), rgba(184, 137, 28, 0.96));
  border: 1px solid rgba(232, 201, 119, 0.55);
  animation-delay: 3.8s;
}

/* line 818, app/assets/stylesheets/subscription_gate.scss */
.graph-annotation.annotation-support {
  bottom: 10%;
  left: 6%;
  background: linear-gradient(135deg, rgba(26, 158, 130, 0.95), rgba(21, 130, 107, 0.95));
  border: 1px solid rgba(80, 200, 170, 0.5);
  animation-delay: 3.3s;
}

@keyframes gate-pulse-annotation {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04);
  }
}

@keyframes gate-slide-annotation {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* line 838, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium {
  background: linear-gradient(135deg, #1a9e82 0%, #15826b 100%);
  border: none;
  color: #f7f6f4;
  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 851, 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 862, 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: #f7f6f4;
}

/* line 867, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium:hover::before {
  left: 100%;
}

/* line 870, 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 874, 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 881, 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 892, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-page {
    padding: 1.5rem 0.5rem;
  }
  /* line 896, app/assets/stylesheets/subscription_gate.scss */
  .gate-title-large {
    font-size: 1.6rem;
  }
  /* line 900, app/assets/stylesheets/subscription_gate.scss */
  .gate-subtitle-large {
    font-size: 0.95rem;
  }
  /* line 904, app/assets/stylesheets/subscription_gate.scss */
  .gate-icon {
    width: 64px;
    height: 64px;
    font-size: 1.8rem;
    border-radius: 18px;
  }
  /* line 911, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-cta-card {
    padding: 1.5rem;
    margin-top: 1.5rem;
  }
  /* line 916, app/assets/stylesheets/subscription_gate.scss */
  .demo-preview-content {
    min-height: 240px;
    padding: 1rem;
  }
  /* line 921, app/assets/stylesheets/subscription_gate.scss */
  .graph-chart-demo {
    min-height: 260px;
  }
  /* line 922, app/assets/stylesheets/subscription_gate.scss */
  .demo-chart-svg {
    height: 260px;
  }
}

@media (max-width: 575px) {
  /* line 926, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-page {
    padding: 1rem 0.25rem;
  }
  /* line 930, app/assets/stylesheets/subscription_gate.scss */
  .gate-title {
    font-size: 1.3rem;
  }
  /* line 934, app/assets/stylesheets/subscription_gate.scss */
  .gate-title-large {
    font-size: 1.4rem;
  }
  /* line 938, app/assets/stylesheets/subscription_gate.scss */
  .gate-subtitle,
.gate-subtitle-large {
    font-size: 0.85rem;
  }
  /* line 943, app/assets/stylesheets/subscription_gate.scss */
  .gate-icon {
    width: 56px;
    height: 56px;
    font-size: 1.5rem;
    border-radius: 14px;
  }
  /* line 950, app/assets/stylesheets/subscription_gate.scss */
  .gate-features li {
    font-size: 0.82rem;
  }
  /* line 954, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-cta-card {
    padding: 1.25rem;
  }
  /* line 958, app/assets/stylesheets/subscription_gate.scss */
  .demo-preview-wrapper {
    border-radius: 12px;
  }
  /* line 962, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-mini {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 968, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-gate {
    gap: 0.6rem;
  }
  /* line 971, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-gate .trust-badge-item {
    padding: 0.4rem 0.8rem;
    font-size: 0.75rem;
  }
  /* line 978, app/assets/stylesheets/subscription_gate.scss */
  .gate-features-detailed li strong {
    font-size: 0.85rem;
  }
  /* line 979, app/assets/stylesheets/subscription_gate.scss */
  .gate-features-detailed li p {
    font-size: 0.78rem;
  }
  /* line 982, app/assets/stylesheets/subscription_gate.scss */
  .geo-map-demo {
    min-height: 180px;
  }
  /* line 983, app/assets/stylesheets/subscription_gate.scss */
  .geo-map-svg {
    height: 180px;
  }
  /* line 984, app/assets/stylesheets/subscription_gate.scss */
  .geo-gate-map-container {
    height: 180px;
  }
  /* line 986, app/assets/stylesheets/subscription_gate.scss */
  .geo-event-callout {
    font-size: 0.65rem;
    padding: 3px 7px;
  }
  /* line 991, app/assets/stylesheets/subscription_gate.scss */
  .geo-impact-bar .impact-items {
    gap: 0.5rem;
  }
  /* line 995, app/assets/stylesheets/subscription_gate.scss */
  .sim-result-row .stock-ticker {
    min-width: 38px;
    font-size: 0.75rem;
  }
}

/* line 1002, 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 1009, app/assets/stylesheets/subscription_gate.scss */
.gate-title-large.sim-title,
.gate-title-large.graph-title {
  background: linear-gradient(135deg, #ffffff 0%, #e8c977 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1018, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium.sim-btn,
.premium-gate-page .btn-premium.graph-btn {
  background: linear-gradient(135deg, #d4a520 0%, #b8891c 100%);
  box-shadow: 0 4px 15px rgba(212, 165, 32, 0.2);
}

/* line 1023, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium.sim-btn:hover,
.premium-gate-page .btn-premium.graph-btn:hover {
  box-shadow: 0 8px 25px rgba(212, 165, 32, 0.3);
  background: linear-gradient(135deg, #e0b42e 0%, #d4a520 100%);
}

/* line 1030, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-gate {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 1037, 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 1051, app/assets/stylesheets/subscription_gate.scss */
.trust-badge-item:hover {
  transform: translateY(-2px);
}

/* line 1055, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 1060, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.2rem;
}

/* line 1066, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li > i {
  font-size: 1.2rem;
  flex-shrink: 0;
  margin-top: 3px;
}

/* line 1072, 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 1079, 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 1089, 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 1100, app/assets/stylesheets/subscription_gate.scss */
.gauge-label-text {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1107, app/assets/stylesheets/subscription_gate.scss */
.sentiment-gauge-demo .gauge-bar {
  position: relative;
}

/* line 1112, app/assets/stylesheets/subscription_gate.scss */
.geo-map-demo {
  position: relative;
  min-height: 250px;
}

/* line 1117, app/assets/stylesheets/subscription_gate.scss */
.geo-map-svg {
  width: 100%;
  height: 250px;
}

/* line 1122, app/assets/stylesheets/subscription_gate.scss */
.geo-gate-map-container {
  width: 100%;
  height: 250px;
  border-radius: 10px;
  overflow: hidden;
}

/* line 1129, app/assets/stylesheets/subscription_gate.scss */
.geo-pulse {
  animation: geo-pulse-anim 2.5s ease-in-out infinite;
}

/* line 1133, app/assets/stylesheets/subscription_gate.scss */
.geo-pulse-ring {
  animation: geo-pulse-ring-anim 2.5s ease-in-out infinite;
}

/* line 1137, 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 1157, 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: 600;
  color: var(--text-primary);
  backdrop-filter: blur(4px);
  white-space: nowrap;
}

/* line 1171, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* line 1176, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity.critical {
  background: #dc3545;
  box-shadow: 0 0 6px #dc3545;
}

/* line 1177, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity.high {
  background: #fd7e14;
  box-shadow: 0 0 6px #fd7e14;
}

/* line 1178, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout .event-severity.moderate {
  background: #cc903c;
}

/* line 1181, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout.callout-1 {
  top: 12%;
  left: 52%;
}

/* line 1182, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout.callout-2 {
  top: 22%;
  right: 18%;
}

/* line 1183, app/assets/stylesheets/subscription_gate.scss */
.geo-event-callout.callout-3 {
  top: 38%;
  left: 48%;
}

/* line 1186, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar {
  background: rgba(204, 144, 60, 0.05);
  border: 1px solid rgba(204, 144, 60, 0.15);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  margin-top: 0.5rem;
}

/* line 1193, 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 1203, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-items {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 1209, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 1214, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-sector {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* line 1219, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-change {
  font-size: 0.8rem;
  font-weight: 700;
}

/* line 1223, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-change.positive {
  color: #28a745;
}

/* line 1224, app/assets/stylesheets/subscription_gate.scss */
.geo-impact-bar .impact-item .impact-change.negative {
  color: #dc3545;
}

/* line 1232, 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 1233, app/assets/stylesheets/subscription_gate.scss */
.chatbot-gate .chatbot-orb.gradient-orb-2 {
  background: radial-gradient(circle, rgba(204, 144, 60, 0.2) 0%, transparent 70%);
}

/* line 1237, 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 1242, 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 1249, 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 1253, 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 1259, app/assets/stylesheets/subscription_gate.scss */
.chatbot-badge {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #3b82f6 !important;
}

/* line 1264, app/assets/stylesheets/subscription_gate.scss */
.fake-chatbot-dashboard {
  padding: 1.5rem;
  min-height: 250px;
}

/* line 1269, app/assets/stylesheets/subscription_gate.scss */
.chat-demo-messages {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1275, app/assets/stylesheets/subscription_gate.scss */
.chat-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 1280, app/assets/stylesheets/subscription_gate.scss */
.chat-msg.user-msg {
  justify-content: flex-end;
}

/* line 1281, app/assets/stylesheets/subscription_gate.scss */
.chat-msg.ai-msg {
  justify-content: flex-start;
}

/* line 1284, app/assets/stylesheets/subscription_gate.scss */
.chat-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #cc903c);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1294, app/assets/stylesheets/subscription_gate.scss */
.chat-avatar i {
  font-size: 0.7rem;
  color: #f7f6f4;
}

/* line 1297, 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 1304, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.user-bubble {
  background: linear-gradient(135deg, #3b82f6, #cc903c);
  color: #f7f6f4;
  border-bottom-right-radius: 4px;
}

/* line 1310, 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 1317, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.typing-demo {
  display: flex;
  gap: 4px;
  padding: 0.8rem 1.2rem;
}

/* line 1324, 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 1331, app/assets/stylesheets/subscription_gate.scss */
.typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}

/* line 1332, 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 1341, app/assets/stylesheets/subscription_gate.scss */
.bg-gradient-premium {
  display: inline-block;
  background: linear-gradient(135deg, #d4a520 0%, #c9952a 100%);
  color: #f7f6f4 !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 1355, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gradient-orb {
  opacity: 0.08;
}

/* line 1357, 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 1361, 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 1367, 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 1374, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .gate-title-large.sim-title, [data-theme="light"] .premium-gate-page .gate-title-large.graph-title {
  background: linear-gradient(135deg, #1a1d23 0%, #cc903c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 1382, 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 1390, 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 1397, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .premium-gate-page .demo-chart-svg > line:nth-of-type(-n + 4) {
  stroke: rgba(0, 0, 0, 0.08);
}

/* line 1402, 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 1409, app/assets/stylesheets/subscription_gate.scss */
.prediction-column.locked {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1415, 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 1428, app/assets/stylesheets/subscription_gate.scss */
.prediction-locked-badge i {
  font-size: 0.65rem;
}

/* line 1432, 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 1442, 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 1456, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-level .level-value-locked i {
  font-size: 0.6rem;
}

/* line 1460, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-level .level-value-locked:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
  text-decoration: none;
}

/* line 1470, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-section {
  opacity: 0.8;
}

/* line 1476, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .subscription-overlay {
  background: rgba(0, 0, 0, 0.4);
}

/* line 1480, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .subscription-message {
  border: 2px solid var(--border-color);
}

/* line 1484, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .prediction-locked-badge {
  background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%);
  color: #f7f6f4;
}

/* line 1488, app/assets/stylesheets/subscription_gate.scss */
[data-theme="light"] .prediction-locked-badge:hover {
  background: linear-gradient(135deg, var(--color-warning) 0%, #a97832 100%);
  color: #f7f6f4;
}
/* 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: #1b2333;
  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(204, 144, 60, 0.2);
  display: flex;
  flex-direction: column;
  color: #f7f6f4;
}

/* line 169, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(204, 144, 60, 0.2);
  background: #1b2333;
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 177, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan {
  border: 2px solid #cc903c !important;
  transform: scale(1.05) !important;
  position: relative !important;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
  border-color: #cc903c !important;
  box-shadow: 0 20px 40px rgba(204, 144, 60, 0.25), 0 0 0 1px rgba(204, 144, 60, 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(204, 144, 60, 0.3), 0 0 0 1px rgba(204, 144, 60, 0.4) !important;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 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(204, 144, 60, 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: #f7f6f4 !important;
}

/* line 205, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .feature-list li i {
  color: #cc903c !important;
}

/* line 209, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .plan-option {
  background: rgba(204, 144, 60, 0.1) !important;
  border: 1px solid rgba(204, 144, 60, 0.3) !important;
}

/* line 214, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-card.popular-plan .plan-option:hover {
  background: rgba(204, 144, 60, 0.15) !important;
  border-color: rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  padding: 0.4rem 1.25rem;
  border-radius: 25px;
  font-size: 0.75rem;
  font-weight: 700;
  z-index: 100;
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.4);
  white-space: nowrap;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: 2px solid rgba(204, 144, 60, 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(204, 144, 60, 0.2);
  background: transparent;
}

/* line 248, app/assets/stylesheets/pricing.scss */
.pricing-plans .pricing-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #f7f6f4;
  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(204, 144, 60, 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, #cc903c 0%, #e0bc8a 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: #cc903c;
  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: #f7f6f4;
  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: #cc903c;
  color: #000615;
  box-shadow: 0 2px 8px rgba(204, 144, 60, 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: #f7f6f4;
  transform: translateX(4px);
}

/* line 383, app/assets/stylesheets/pricing.scss */
.pricing-plans .feature-list li i {
  color: #cc903c;
  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, #cc903c 0%, #e0bc8a 100%);
  color: #f7f6f4;
  box-shadow: 0 4px 14px rgba(204, 144, 60, 0.3);
}

/* line 416, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(204, 144, 60, 0.4);
  background: linear-gradient(135deg, #b8833d 0%, #cc903c 100%);
}

/* line 422, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-outline-primary {
  background: transparent;
  color: #cc903c;
  border: 2px solid #cc903c;
}

/* line 428, app/assets/stylesheets/pricing.scss */
.pricing-plans .btn-outline-primary:hover {
  background: #cc903c;
  color: #f7f6f4;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(204, 144, 60, 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: #f7f6f4;
  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: #f7f6f4;
  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: #1b2333 !important;
  color: #f7f6f4 !important;
  border: 1px solid rgba(204, 144, 60, 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: #1b2333 !important;
  box-shadow: 0 20px 40px rgba(204, 144, 60, 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: #f7f6f4 !important;
}

/* line 495, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card .feature-list li i {
  color: #22c55e !important;
}

/* line 500, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card.popular-plan {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
  border-color: #cc903c !important;
  box-shadow: 0 20px 40px rgba(204, 144, 60, 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(204, 144, 60, 0.4), 0 0 0 1px rgba(204, 144, 60, 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: #f7f6f4 !important;
}

/* line 518, app/assets/stylesheets/pricing.scss */
.pricing-plans-section .pricing-card.popular-plan .feature-list li i {
  color: #22c55e !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(204, 144, 60, 0.05) 0%, rgba(224, 188, 138, 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 #cc903c !important;
    box-shadow: 0 8px 24px rgba(204, 144, 60, 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(204, 144, 60, 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(204, 144, 60, 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 #cc903c !important;
    box-shadow: 0 8px 24px rgba(204, 144, 60, 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: #1b2333 !important;
  color: #f7f6f4 !important;
  border: 1px solid rgba(204, 144, 60, 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: #1b2333 !important;
  box-shadow: 0 20px 40px rgba(204, 144, 60, 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: #f7f6f4 !important;
}

/* line 819, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .feature-list li i {
  color: #cc903c !important;
}

/* line 824, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card.popular-plan {
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.15) 0%, rgba(224, 188, 138, 0.15) 100%) !important;
  border-color: #cc903c !important;
  transform: scale(1.05) !important;
  box-shadow: 0 20px 40px rgba(204, 144, 60, 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: #f7f6f4 !important;
}

/* line 839, app/assets/stylesheets/pricing.scss */
.account-page .pricing-plans-section .pricing-card.popular-plan .feature-list li i {
  color: #cc903c !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: 600;
  transition: color 0.2s;
}

/* line 859, app/assets/stylesheets/pricing.scss */
.pricing-toggle-label.active {
  color: #f7f6f4;
  font-weight: 600;
}

/* line 862, app/assets/stylesheets/pricing.scss */
.pricing-save-badge {
  display: inline-block;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: #f7f6f4;
  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(204, 144, 60, 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: #cc903c;
}

/* 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(204, 144, 60, 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(204, 144, 60, 0.35);
  transform: translateY(-2px);
}

/* line 931, app/assets/stylesheets/pricing.scss */
.pricing-card-new.pricing-card-popular {
  border-color: #cc903c;
  background: rgba(204, 144, 60, 0.08);
  box-shadow: 0 0 40px rgba(204, 144, 60, 0.15);
}

/* line 937, app/assets/stylesheets/pricing.scss */
.pricing-card-new.pricing-card-current {
  border-color: rgba(34, 197, 94, 0.5);
  background: rgba(34, 197, 94, 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, #cc903c, #e0bc8a);
  color: #f7f6f4;
  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: #f7f6f4;
  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: 700;
  color: #f7f6f4;
  line-height: 1;
}

/* line 998, app/assets/stylesheets/pricing.scss */
.pricing-period {
  font-size: 0.85rem;
  color: #64748b;
  font-weight: 600;
}

/* 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: #22c55e;
  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(204, 144, 60, 0.15);
  color: #e0bc8a;
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 1040, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-primary:hover {
  background: rgba(204, 144, 60, 0.25);
  color: #e0c99a;
  text-decoration: none;
}

/* line 1043, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-popular {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  color: #f7f6f4;
}

/* line 1046, app/assets/stylesheets/pricing.scss */
.pricing-btn.pricing-btn-popular:hover {
  background: linear-gradient(135deg, #b8833d, #cc903c);
  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: #f7f6f4;
  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(34, 197, 94, 0.1);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 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: #22c55e;
  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: #cc903c !important;
  font-size: 0.85rem;
  border-bottom: 1px solid rgba(204, 144, 60, 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: #cc903c;
}

/* line 1114, app/assets/stylesheets/pricing.scss */
.pricing-amount-original {
  font-size: 1.1rem;
  color: #64748b;
  font-weight: 600;
  margin-right: 0.3rem;
}

/* line 1121, app/assets/stylesheets/pricing.scss */
.pricing-amount-promo {
  color: #22c55e !important;
}

/* line 1125, app/assets/stylesheets/pricing.scss */
.pricing-promo-badge {
  position: absolute;
  top: -10px;
  left: 16px;
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  color: #f7f6f4;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.2rem 0.75rem;
  border-radius: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 2;
}

/* line 1140, app/assets/stylesheets/pricing.scss */
.pricing-promo-note {
  color: #22c55e;
  font-size: 0.8rem;
  font-weight: 600;
}

/* line 1155, app/assets/stylesheets/pricing.scss */
.pricing-card-new:has(.pricing-promo-badge) .pricing-promo-badge {
  left: 10px;
}

/* line 1159, app/assets/stylesheets/pricing.scss */
.pricing-card-new:has(.pricing-promo-badge) .pricing-popular-badge {
  left: auto;
  right: 10px;
  transform: none;
  padding-left: 0.7rem;
  padding-right: 0.7rem;
}

@media (max-width: 420px) {
  /* line 1173, app/assets/stylesheets/pricing.scss */
  .pricing-card-new:has(.pricing-promo-badge) .pricing-promo-badge {
    display: none;
  }
  /* line 1177, app/assets/stylesheets/pricing.scss */
  .pricing-card-new:has(.pricing-promo-badge) .pricing-popular-badge {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

/* line 1190, app/assets/stylesheets/pricing.scss */
.pricing-trial-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  margin: 0.15rem auto 0.85rem;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: #22c55e;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* line 1206, app/assets/stylesheets/pricing.scss */
.pricing-trial-note {
  margin: 0.55rem 0 0;
  font-size: 0.72rem;
  line-height: 1.45;
  text-align: center;
  color: var(--text-muted, #94a3b8);
}

/* line 1214, app/assets/stylesheets/pricing.scss */
[data-theme="light"] .pricing-trial-chip {
  background: rgba(22, 163, 74, 0.1);
  border-color: rgba(22, 163, 74, 0.3);
  color: #15803d;
}

/* line 1221, app/assets/stylesheets/pricing.scss */
.trial-announcement {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 1.1rem auto 0;
  padding: 0.5rem 1.1rem;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.28);
  color: #4ade80;
  font-size: 0.9rem;
  font-weight: 600;
}

/* line 1234, app/assets/stylesheets/pricing.scss */
.trial-announcement i {
  font-size: 0.85rem;
}

/* line 1237, app/assets/stylesheets/pricing.scss */
[data-theme="light"] .trial-announcement {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(22, 163, 74, 0.28);
  color: #15803d;
}

/* line 1245, app/assets/stylesheets/pricing.scss */
.pricing-price-sub .pricing-promo-note {
  display: block;
  line-height: 1.4;
}

/* line 1249, app/assets/stylesheets/pricing.scss */
.pricing-price-sub .pricing-promo-note i {
  font-size: 0.7rem;
  margin-right: 2px;
}

/* line 1252, app/assets/stylesheets/pricing.scss */
.pricing-price-sub .pricing-promo-note + .pricing-save-inline {
  display: block;
  margin-top: 0.2rem;
}

/* line 1258, app/assets/stylesheets/pricing.scss */
.pricing-feature-more {
  padding-top: 0.2rem;
}

/* line 1261, app/assets/stylesheets/pricing.scss */
.pricing-feature-more a {
  font-size: 0.8rem;
  font-weight: 600;
  color: #e0bc8a;
  text-decoration: none;
}

/* line 1267, app/assets/stylesheets/pricing.scss */
.pricing-feature-more a:hover {
  text-decoration: underline;
}
/* 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, #cc903c, #a97832);
  -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(204, 144, 60, 0.15), rgba(224, 188, 138, 0.1));
  border: 2px solid rgba(204, 144, 60, 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, #cc903c, #a97832);
  color: #000;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.hero-stat-period {
  font-size: 0.7rem;
  color: rgba(204, 144, 60, 0.9);
  margin-top: 0.25rem;
  font-weight: 600;
}

/* ROI Card Variant */
.hero-stat-card.hero-stat-roi {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.15), rgba(224, 188, 138, 0.1));
  border: 2px solid rgba(224, 188, 138, 0.5);
  padding: 0.875rem 2rem;
}

.hero-stat-roi-value {
  background: linear-gradient(135deg, #e0bc8a, #e0bc8a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 2rem;
}

.hero-stat-roi-note {
  color: rgba(224, 188, 138, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}

.hero-stat-roi-note i {
  color: rgba(224, 188, 138, 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: #f7f6f4;
}

.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(204, 144, 60, 0.03);
}

.prediction-miss {
  background: rgba(255, 107, 107, 0.03);
}

/* Cell Styles */
.date-cell {
  white-space: nowrap;
}

.date-value {
  font-weight: 600;
  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(224, 188, 138, 0.2);
  color: #c084fc;
}

.stock-cell {
  min-width: 150px;
}

.stock-symbol {
  font-weight: 700;
  font-size: 1rem;
  display: block;
  color: #f7f6f4;
}

.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(34, 197, 94, 0.2);
  color: #22c55e;
}

.direction-arrow.down {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

.price-value {
  font-weight: 600;
  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(34, 197, 94, 0.2);
  color: #22c55e;
}

.accuracy-badge.good {
  background: rgba(250, 204, 21, 0.2);
  color: #e0bc8a;
}

.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(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 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(204, 144, 60, 0.2), rgba(224, 188, 138, 0.2));
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  font-size: 1.5rem;
  color: #cc903c;
}

.methodology-card h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f7f6f4;
  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: #e0bc8a;
  font-size: 1.1rem;
}

.disclaimer-content h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #e0bc8a;
  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(204, 144, 60, 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(204, 144, 60, 0.1), rgba(224, 188, 138, 0.05));
  border: 1px solid rgba(204, 144, 60, 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: 700;
  background: linear-gradient(135deg, #cc903c, #a97832);
  -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: #cc903c;
  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(224, 188, 138, 0.1), rgba(224, 188, 138, 0.05));
  border: 1px solid rgba(224, 188, 138, 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: 700;
  background: linear-gradient(135deg, #e0bc8a, #e0bc8a);
  -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: #e0bc8a;
  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(224, 188, 138, 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(204, 144, 60, 0.02);
}

.preview-table-row.row-miss {
  background: rgba(255, 107, 107, 0.02);
}

.date-text {
  font-weight: 600;
  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: #f7f6f4;
  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(34, 197, 94, 0.2);
  color: #22c55e;
}

.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(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 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(204, 144, 60, 0.5);
  border-radius: 12px;
  color: #cc903c;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-track-record:hover {
  background: rgba(204, 144, 60, 0.1);
  border-color: #cc903c;
  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: #cc903c;
}

/* 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: #f7f6f4;
}

.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: #f7f6f4;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.day-nav-btn:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.4);
  color: #cc903c;
}

.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(204, 144, 60, 0.08), rgba(204, 144, 60, 0.04));
    border-color: rgba(204, 144, 60, 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(204, 144, 60, 0.1);
    border-color: rgba(204, 144, 60, 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: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg-primary, #000615) !important;
  background-color: var(--bg-primary, #000615) !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, #000615);
  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(204, 144, 60, 0.2) 0%, rgba(224, 188, 138, 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: #cc903c;
}

/* line 100, app/assets/stylesheets/devise.scss */
.devise-orbs .orb-2 {
  bottom: 10%;
  right: 5%;
  width: 300px;
  height: 300px;
  background: #e0bc8a;
  animation-delay: -8s;
}

/* line 109, app/assets/stylesheets/devise.scss */
.devise-orbs .orb-3 {
  top: 50%;
  left: 50%;
  width: 180px;
  height: 180px;
  background: #e0bc8a;
  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(17, 24, 37, 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, #cc903c 0%, #e0bc8a 100%);
}

/* line 161, app/assets/stylesheets/devise.scss */
.devise-card:hover {
  box-shadow: var(--shadow-hover, 0 20px 50px rgba(204, 144, 60, 0.15));
  border-color: rgba(204, 144, 60, 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, #cc903c 0%, #e0bc8a 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, #cc903c 0%, #e0bc8a 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: 600;
  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(204, 144, 60, 0.05);
  border-color: #cc903c;
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.1);
  color: var(--text-primary, #ffffff);
  outline: none;
}

/* line 242, app/assets/stylesheets/devise.scss */
.devise-form .form-control::placeholder {
  color: var(--text-muted, #64748b);
}

/* line 246, app/assets/stylesheets/devise.scss */
.devise-form .form-control:invalid:not(:placeholder-shown) {
  border-color: #ff6b6b;
}

/* line 251, app/assets/stylesheets/devise.scss */
.devise-form .password-input-wrapper {
  position: relative;
}

/* line 254, app/assets/stylesheets/devise.scss */
.devise-form .password-input-wrapper .form-control {
  padding-right: 2.75rem;
}

/* line 259, app/assets/stylesheets/devise.scss */
.devise-form .password-toggle-btn {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted, #64748b);
  cursor: pointer;
  padding: 0.25rem;
  font-size: 0.95rem;
  z-index: 2;
  line-height: 1;
  transition: color 0.2s ease;
  outline: none;
}

/* line 275, app/assets/stylesheets/devise.scss */
.devise-form .password-toggle-btn:hover, .devise-form .password-toggle-btn:focus-visible {
  color: var(--text-primary, #ffffff);
}

/* line 280, app/assets/stylesheets/devise.scss */
.devise-form .form-check {
  margin-bottom: 1rem;
}

/* line 283, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-input {
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  width: 18px;
  height: 18px;
}

/* line 290, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-input:checked {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  border-color: transparent;
}

/* line 295, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.15);
}

/* line 300, app/assets/stylesheets/devise.scss */
.devise-form .form-check .form-check-label {
  color: var(--text-secondary, #94a3b8);
  font-size: 0.9rem;
}

/* line 306, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 0.25rem;
}

/* line 312, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  cursor: pointer;
  transition: background 0.15s;
}

/* line 320, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item:hover {
  background: rgba(255, 255, 255, 0.03);
}

/* line 322, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 326, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-check {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: all 0.15s;
}

/* line 339, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-check:checked {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  border-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3L4.5 8.5 2 6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 10px;
  background-position: center;
  background-repeat: no-repeat;
}

/* line 349, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-text {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.78rem;
  line-height: 1.45;
}

/* line 355, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-link {
  color: var(--primary, #cc903c);
  text-decoration: none;
}

/* line 358, app/assets/stylesheets/devise.scss */
.devise-form .signup-consents .consent-item .consent-link:hover {
  text-decoration: underline;
}

/* line 365, app/assets/stylesheets/devise.scss */
.devise-btn {
  width: 100%;
  max-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;
  white-space: normal;
  overflow-wrap: break-word;
}

/* line 381, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary {
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  color: #000615;
  box-shadow: 0 4px 15px rgba(204, 144, 60, 0.25);
}

/* line 386, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(204, 144, 60, 0.4);
}

/* line 391, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 4px 15px rgba(204, 144, 60, 0.25);
}

/* line 396, app/assets/stylesheets/devise.scss */
.devise-btn.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* line 403, 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 408, app/assets/stylesheets/devise.scss */
.devise-btn.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(204, 144, 60, 0.3);
  color: var(--text-primary, #ffffff);
}

/* line 415, app/assets/stylesheets/devise.scss */
.devise-btn.btn-link {
  color: #cc903c;
  text-decoration: none;
  padding: 0.5rem 0;
}

/* line 420, app/assets/stylesheets/devise.scss */
.devise-btn.btn-link:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

/* line 428, app/assets/stylesheets/devise.scss */
.devise-links {
  text-align: center;
  margin-top: 1.5rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* line 434, app/assets/stylesheets/devise.scss */
.devise-links a, .devise-links .devise-btn.btn-link {
  color: var(--text-secondary, #94a3b8);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: normal;
  word-wrap: break-word;
  max-width: 100%;
}

/* line 443, app/assets/stylesheets/devise.scss */
.devise-links a:hover, .devise-links .devise-btn.btn-link:hover {
  color: var(--accent-primary, #cc903c);
  text-decoration: underline;
}

/* line 449, app/assets/stylesheets/devise.scss */
.devise-links .divider {
  color: var(--text-muted, #64748b);
  margin: 0 0.5rem;
}

/* line 456, app/assets/stylesheets/devise.scss */
.alert {
  border-radius: 8px;
  border: none;
  margin-bottom: 1.5rem;
  padding: 1rem;
}

/* line 462, app/assets/stylesheets/devise.scss */
.alert.alert-success {
  background: rgba(204, 144, 60, 0.1);
  color: var(--color-success, #22c55e);
  border-left: 4px solid var(--color-success, #22c55e);
}

/* line 468, 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 474, app/assets/stylesheets/devise.scss */
.alert.alert-info {
  background: rgba(224, 188, 138, 0.1);
  color: var(--color-info, #e0bc8a);
  border-left: 4px solid var(--color-info, #e0bc8a);
}

/* line 482, 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 487, app/assets/stylesheets/devise.scss */
.devise-footer p {
  color: var(--text-muted, #64748b);
  font-size: 0.8rem;
  margin: 0;
}

/* line 495, 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, #cc903c 0%, #e0bc8a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 506, 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 516, app/assets/stylesheets/devise.scss */
  .devise-container {
    padding: 1rem 0.5rem;
  }
  /* line 520, app/assets/stylesheets/devise.scss */
  .devise-card {
    margin: 0;
  }
  /* line 524, app/assets/stylesheets/devise.scss */
  .devise-header,
.devise-body-content {
    padding: 1.5rem;
  }
  /* line 529, app/assets/stylesheets/devise.scss */
  .devise-footer {
    padding: 1rem 1.5rem 1.5rem;
  }
}

@media (max-width: 575px) {
  /* line 548, app/assets/stylesheets/devise.scss */
  .webview-mode body.d-flex.flex-column {
    min-height: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* line 553, 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 559, 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 569, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-content {
    flex: 0 0 auto !important;
  }
  /* line 573, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-content {
    max-width: 100% !important;
  }
  /* line 577, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-card {
    margin: 0 !important;
    border-radius: 12px !important;
  }
  /* line 582, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header {
    padding: 1rem 1rem 0.75rem !important;
  }
  /* line 585, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header .devise-logo {
    font-size: 1.25rem !important;
  }
  /* line 588, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-header .devise-logo i {
    font-size: 1.4rem !important;
  }
  /* line 594, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-body-content {
    padding: 1rem !important;
  }
  /* line 598, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-title {
    font-size: 1.25rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 603, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-subtitle {
    font-size: 0.85rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 609, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-group {
    margin-bottom: 1rem !important;
  }
  /* line 613, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-label {
    font-size: 0.8rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 618, 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 624, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-check {
    margin-bottom: 0.75rem !important;
  }
  /* line 627, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-form .form-check .form-check-label {
    font-size: 0.8rem !important;
  }
  /* line 633, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-btn {
    padding: 0.7rem 1rem !important;
    font-size: 0.9rem !important;
    min-height: 44px !important;
  }
  /* line 639, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-links {
    margin-top: 1rem !important;
  }
  /* line 642, app/assets/stylesheets/devise.scss */
  .webview-mode .devise-links a, .webview-mode .devise-links .devise-btn.btn-link {
    font-size: 0.8rem !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
  }
  /* line 650, app/assets/stylesheets/devise.scss */
  .webview-mode .alert {
    padding: 0.75rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.85rem !important;
  }
}

/* line 662, app/assets/stylesheets/devise.scss */
.password-strength-checker {
  margin-top: 0.75rem;
  padding: 1rem;
  background: linear-gradient(135deg, #f7f6f4 0%, #f7f6f4 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 683, app/assets/stylesheets/devise.scss */
.password-requirements {
  margin-bottom: 1rem;
}

/* line 687, 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 694, app/assets/stylesheets/devise.scss */
.requirement:last-child {
  margin-bottom: 0;
}

/* line 699, app/assets/stylesheets/devise.scss */
.requirement.valid .requirement-icon {
  color: #22c55e;
  transform: scale(1.1);
}

/* line 704, app/assets/stylesheets/devise.scss */
.requirement.valid .requirement-text {
  color: #16a34a;
  font-weight: 600;
}

/* line 711, app/assets/stylesheets/devise.scss */
.requirement.invalid .requirement-icon {
  color: #ef4444;
}

/* line 715, app/assets/stylesheets/devise.scss */
.requirement.invalid .requirement-text {
  color: #dc2626;
}

/* line 721, 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 732, app/assets/stylesheets/devise.scss */
.requirement-text {
  color: #6b7280;
  transition: all 0.3s ease;
}

/* line 737, app/assets/stylesheets/devise.scss */
.password-strength-meter {
  margin-top: 1rem;
}

/* line 741, app/assets/stylesheets/devise.scss */
.strength-bar {
  width: 100%;
  height: 6px;
  background-color: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

/* line 750, app/assets/stylesheets/devise.scss */
.strength-fill {
  height: 100%;
  width: 0%;
  transition: all 0.5s ease;
  border-radius: 3px;
}

/* line 756, app/assets/stylesheets/devise.scss */
.strength-fill.very-weak {
  width: 20%;
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 761, app/assets/stylesheets/devise.scss */
.strength-fill.weak {
  width: 40%;
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
}

/* line 766, app/assets/stylesheets/devise.scss */
.strength-fill.fair {
  width: 60%;
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
}

/* line 771, app/assets/stylesheets/devise.scss */
.strength-fill.good {
  width: 80%;
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

/* line 776, app/assets/stylesheets/devise.scss */
.strength-fill.strong {
  width: 100%;
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

/* line 782, app/assets/stylesheets/devise.scss */
.strength-text {
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  transition: all 0.3s ease;
}

/* line 788, app/assets/stylesheets/devise.scss */
.strength-text.very-weak {
  color: #dc2626;
}

/* line 792, app/assets/stylesheets/devise.scss */
.strength-text.weak {
  color: #a97832;
}

/* line 796, app/assets/stylesheets/devise.scss */
.strength-text.fair {
  color: #a97832;
}

/* line 800, app/assets/stylesheets/devise.scss */
.strength-text.good {
  color: #16a34a;
}

/* line 804, app/assets/stylesheets/devise.scss */
.strength-text.strong {
  color: #16a34a;
}

/* line 809, app/assets/stylesheets/devise.scss */
.password-hint {
  margin-top: 0.5rem;
}

/* line 812, app/assets/stylesheets/devise.scss */
.password-hint small {
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 819, app/assets/stylesheets/devise.scss */
.password-input, .password-confirmation-input {
  transition: all 0.3s ease;
}

/* line 822, 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 827, app/assets/stylesheets/devise.scss */
.password-input.password-valid, .password-confirmation-input.password-valid {
  border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1);
}

/* line 832, 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 839, 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: 600;
  animation: fadeIn 0.3s ease-in-out;
}

/* line 848, 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 867, app/assets/stylesheets/devise.scss */
  .password-strength-checker {
    padding: 0.75rem;
  }
  /* line 871, app/assets/stylesheets/devise.scss */
  .requirement {
    font-size: 0.8rem;
  }
  /* line 875, 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 908, app/assets/stylesheets/devise.scss */
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--color-success, #22c55e);
  background-image: none;
}

/* line 914, app/assets/stylesheets/devise.scss */
.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: var(--color-danger, #ff6b6b);
  background-image: none;
}

/* line 920, app/assets/stylesheets/devise.scss */
.valid-feedback {
  color: var(--color-success, #22c55e);
  font-size: 0.8rem;
}

/* line 925, app/assets/stylesheets/devise.scss */
.invalid-feedback {
  color: var(--color-danger, #ff6b6b);
  font-size: 0.8rem;
}

/* line 931, 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 941, app/assets/stylesheets/devise.scss */
.recaptcha-container iframe {
  border-radius: 8px;
}

/* Dark theme adjustments for reCAPTCHA */
/* line 946, app/assets/stylesheets/devise.scss */
.g-recaptcha {
  transform: scale(0.9);
  transform-origin: center;
}

@media (max-width: 768px) {
  /* line 952, app/assets/stylesheets/devise.scss */
  .recaptcha-container {
    padding: 0.5rem;
  }
  /* line 956, app/assets/stylesheets/devise.scss */
  .g-recaptcha {
    transform: scale(0.8);
  }
}

/* line 965, app/assets/stylesheets/devise.scss */
.oauth-section {
  margin-bottom: 1.5rem;
}

/* line 969, app/assets/stylesheets/devise.scss */
.oauth-divider {
  display: flex;
  align-items: center;
  margin: 1.5rem 0;
}

/* line 974, 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 982, 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 991, app/assets/stylesheets/devise.scss */
.oauth-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 997, 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: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* line 1011, app/assets/stylesheets/devise.scss */
.oauth-btn .oauth-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* line 1017, app/assets/stylesheets/devise.scss */
.oauth-btn span {
  flex-shrink: 0;
}

/* line 1021, app/assets/stylesheets/devise.scss */
.oauth-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* line 1026, app/assets/stylesheets/devise.scss */
.oauth-btn:active {
  transform: translateY(0);
}

/* line 1032, app/assets/stylesheets/devise.scss */
.oauth-google {
  background: #ffffff;
  color: #3c4043;
  border-color: #dadce0;
}

/* line 1037, app/assets/stylesheets/devise.scss */
.oauth-google:hover {
  background: #f8f9fa;
  border-color: #c6c6c6;
}

/* line 1048, app/assets/stylesheets/devise.scss */
.oauth-apple {
  background: #000000;
  color: #f7f6f4;
  border-color: #333;
}

/* line 1053, app/assets/stylesheets/devise.scss */
.oauth-apple:hover:not(:disabled) {
  background: #1a1a1a;
  border-color: #555;
}

/* line 1058, app/assets/stylesheets/devise.scss */
.oauth-apple .oauth-icon {
  font-size: 1.25rem;
}

/* line 1064, app/assets/stylesheets/devise.scss */
.oauth-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  position: relative;
}

/* line 1069, app/assets/stylesheets/devise.scss */
.oauth-disabled:hover {
  transform: none;
  box-shadow: none;
}

/* line 1074, 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 1090, 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 1095, app/assets/stylesheets/devise.scss */
.oauth-microsoft:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.3);
}

/* line 1106, 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 1113, app/assets/stylesheets/devise.scss */
.oauth-terms a {
  color: var(--accent-primary, #cc903c);
  text-decoration: none;
}

/* line 1117, app/assets/stylesheets/devise.scss */
.oauth-terms a:hover {
  text-decoration: underline;
}

@media (max-width: 576px) {
  /* line 1125, app/assets/stylesheets/devise.scss */
  .oauth-btn {
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    border-radius: 10px;
  }
  /* line 1130, app/assets/stylesheets/devise.scss */
  .oauth-btn .oauth-icon {
    width: 18px;
    height: 18px;
  }
  /* line 1136, 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 1144, app/assets/stylesheets/devise.scss */
  .oauth-buttons {
    flex-direction: row;
    flex-wrap: wrap;
  }
  /* line 1148, app/assets/stylesheets/devise.scss */
  .oauth-buttons .oauth-btn {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: 0;
  }
  /* line 1152, app/assets/stylesheets/devise.scss */
  .oauth-buttons .oauth-btn span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* line 1163, app/assets/stylesheets/devise.scss */
.webview-mode .oauth-btn {
  min-height: 48px;
  padding: 0.875rem 1rem;
}

/* line 1169, app/assets/stylesheets/devise.scss */
.webview-mode .oauth-section {
  margin-bottom: 1rem;
}

/* line 1176, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-body {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
}

/* line 1181, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-background {
  background: var(--bg-primary);
}

/* line 1185, 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 1191, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-glow {
  opacity: 0.5;
}

/* line 1195, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-orbs .orb {
  opacity: 0.15;
}

/* line 1199, 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 1205, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-header {
  border-bottom-color: var(--border-color);
}

/* line 1210, 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 1215, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control::placeholder {
  color: var(--text-muted);
}

/* line 1219, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-control:focus {
  background: var(--bg-card-solid);
  border-color: var(--accent-primary);
}

/* line 1225, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-form .form-check-input {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1231, 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 1236, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-btn.btn-secondary:hover {
  background: var(--bg-card-hover);
}

/* line 1241, app/assets/stylesheets/devise.scss */
[data-theme="light"] .devise-footer {
  border-top-color: var(--border-color);
}

/* line 1245, app/assets/stylesheets/devise.scss */
[data-theme="light"] .recaptcha-container {
  background: var(--bg-input);
  border-color: var(--border-color);
}

/* line 1250, 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 1255, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-btn {
  border-color: var(--border-color);
}

/* line 1259, app/assets/stylesheets/devise.scss */
[data-theme="light"] .oauth-microsoft {
  background: var(--bg-input);
}

/* line 1262, 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 {
  height: 168px;
  width: auto;
  filter: drop-shadow(0 4px 12px rgba(204, 144, 60, 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(204, 144, 60, 0.4));
  }
  50% {
    transform: scale(1.05);
    filter: drop-shadow(0 6px 16px rgba(204, 144, 60, 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, #cc903c) 0%, var(--accent-secondary, #e0bc8a) 100%);
  border-radius: 2px;
  width: 0%;
  transition: width 0.3s ease;
  box-shadow: 0 0 10px rgba(204, 144, 60, 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 the chatbot only while the loader is actually VISIBLE.
   The loader element stays in the DOM after it is hidden (and is re-inserted by
   the server on every Turbo navigation), so keying on its mere presence made the
   chatbot depend on JS removing the node to ever come back. */
html:not(.loader-already-shown) #initial-loader:not(.hidden) ~ .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(204, 144, 60, 0.1);
  color: #cc903c;
  font-size: 0.8rem;
}

.insight-card-alert .insight-card-icon {
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
}

.insight-card-alert.insight-direction-bullish {
  border-color: rgba(34, 197, 94, 0.15);
}

.insight-card-alert.insight-direction-bullish .insight-card-icon {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

.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(204, 144, 60, 0.2);
  color: #e0bc8a;
}

.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(204, 144, 60, 0.2);
  color: #e0bc8a;
}

.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, #cc903c) 0deg,
    var(--fgi-color, #cc903c) 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, #cc903c);
  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: #cc903c; }
.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: #cc903c;
}

.expert-mode-label[data-side="expert"] {
  color: rgba(255, 255, 255, 0.4);
}

.expert-mode-track {
  position: relative;
  width: 36px;
  height: 20px;
  background: rgba(204, 144, 60, 0.2);
  border-radius: 10px;
  transition: background 0.25s ease;
}

.expert-mode-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background: #cc903c;
  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: #e0bc8a;
}

.expert-mode-toggle-wrapper.expert-active .expert-mode-track {
  background: rgba(224, 188, 138, 0.2);
}

.expert-mode-toggle-wrapper.expert-active .expert-mode-thumb {
  transform: translateX(16px);
  background: #e0bc8a;
}

/* 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(204, 144, 60, 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: 700 !important;
  padding: 4px 9px !important;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.13) 0%, rgba(224, 188, 138, 0.07) 100%) !important;
  border: 1px solid rgba(204, 144, 60, 0.28) !important;
  border-radius: 7px !important;
  color: #cc903c !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: 700 !important;
  color: #f7f6f4 !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(204, 144, 60, 0.55) 25%, rgba(224, 188, 138, 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(204, 144, 60, 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: 700 !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(204, 144, 60, 0.35) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .action-badge.main-signal.sell {
  box-shadow: 0 0 14px rgba(220, 53, 69, 0.35) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.signal-cell .signal-sub-row {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* ADAPTIVE GRID: no perso cell (portfolio flag off) */
.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso {
  grid-template-rows: auto auto auto auto auto !important;
  grid-template-areas:
    "stock    price"
    "glow     glow"
    "signal   position"
    "events   position"
    "details  details" !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso.no-events {
  grid-template-rows: auto auto auto auto !important;
  grid-template-areas:
    "stock    price"
    "glow     glow"
    "signal   position"
    "details  details" !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso.no-events td.events-cell {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso td.position-cell {
  grid-row: 3 / 5 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table tr.stock-row.no-perso.no-events td.position-cell {
  grid-row: 3 / 4 !important;
}

/* PERSO CELL */
.dashboard-container .basic-mode-cards table.stocks-table td.mobile-perso-cell {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  grid-area: perso !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.personalized-signal-cell {
  display: none !important;
}

/* In card mode: show J+1 prediction (like mobile), hide position-two-cols */
.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-label {
  font-size: 0.6rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-value {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-baseline {
  font-size: 0.5rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.3) !important;
  letter-spacing: 0.5px !important;
  margin-top: -2px !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-bar {
  width: 100% !important;
  height: 3px !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  overflow: hidden !important;
  display: block !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill {
  height: 100% !important;
  border-radius: 2px !important;
  transition: width 0.3s ease !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill.conf-high {
  background: #cc903c !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .mobile-j1-display .mobile-j1-conf-fill.conf-medium {
  background: #cc903c !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(204, 144, 60, 0.06) !important;
  border-color: rgba(204, 144, 60, 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(224, 188, 138, 0.2) !important;
  background: rgba(224, 188, 138, 0.06) !important;
  color: #e0bc8a !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(204, 144, 60, 0.1) !important;
  color: #cc903c !important;
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 0.3) !important;
  background: rgba(204, 144, 60, 0.02) !important;
}

/* Watchlist position cell — HIDE suivi block in card mode, show J+1 prediction */
.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .watchlist-pnl-block {
  display: none !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .card-j1-display {
  display: flex !important;
  overflow: hidden !important;
  max-width: 100% !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.position-cell .card-j1-display .mobile-j1-display {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  max-width: 100% !important;
  overflow: hidden !important;
}


} /* end @media (min-width: 768px) — basic-mode-cards table layout */

/* ============================================
   ACCOUNT SETTINGS TOGGLE (all screen sizes)
   ============================================ */

.expert-mode-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.expert-mode-setting-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.expert-mode-setting-label strong {
  font-size: 0.9rem;
  color: #e2e8f0;
}

.expert-mode-setting-label small {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 767px) {
  .account-inline-section:has(.expert-mode-setting) {
    display: none !important;
  }
}

/* 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: 700 !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(204, 144, 60, 0.1) !important;
  border: 1px solid rgba(204, 144, 60, 0.2) !important;
  border-radius: 10px !important;
  color: #e0bc8a !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: 700 !important;
  white-space: nowrap !important;
}

.dashboard-container .basic-mode-cards table.stocks-table td.details-cell .mobile-pnl-badge.positive {
  background: rgba(204, 144, 60, 0.09) !important;
  border: 1px solid rgba(204, 144, 60, 0.22) !important;
  color: #cc903c !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(224, 188, 138, 0.12) 0%, rgba(204, 144, 60, 0.08) 100%) !important;
  border: 1px solid rgba(224, 188, 138, 0.22) !important;
  border-radius: 10px !important;
  color: #e0bc8a !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(204, 144, 60, 0.1) !important;
  border: 1px solid rgba(204, 144, 60, 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(204, 144, 60, 0.1) !important;
    border: 1px solid rgba(204, 144, 60, 0.2) !important;
    border-radius: 10px !important;
    color: #e0bc8a !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(224, 188, 138, 0.12) 0%, rgba(204, 144, 60, 0.08) 100%) !important;
    border: 1px solid rgba(224, 188, 138, 0.22) !important;
    border-radius: 10px !important;
    color: #e0bc8a !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: 700 !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;
  }
}

@charset "UTF-8";
/* 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(224, 188, 138, 0.08);
  border: 1px solid rgba(224, 188, 138, 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: #e0bc8a;
  font-size: 0.85rem;
}

/* line 27, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-beta-notice strong {
  color: #e0bc8a;
}

/* 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(224, 188, 138, 0.15);
  color: #e0bc8a;
  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(224, 188, 138, 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: 600;
  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: 700;
  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: 700;
  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, #22c55e, #cc903c, #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: #22c55e;
}

/* line 251, app/assets/stylesheets/stock_analysis.scss */
.stock-analysis-page .sa-score-ring-compact .ring-fill.ring-neutral {
  stroke: #cc903c;
}

/* 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: 700;
  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: #22c55e;
}

/* 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(27, 35, 51, 0.9) 0%, rgba(17, 24, 37, 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: 700;
  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(34, 197, 94, 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: 700;
  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(34, 197, 94, 0.12);
  color: #22c55e;
}

/* 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(204, 144, 60, 0.12);
  color: #cc903c;
}

/* 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: 700;
  margin-bottom: 0.35rem;
}

/* line 595, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title {
  font-size: 1.15rem;
  font-weight: 700;
  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;
}

/* Marks a valuation whose per-share figures were converted out of the reporting
   currency. Deliberately quiet: it is provenance, not a warning — the number
   beside it is trustworthy, and the reader is simply told how it was obtained. */
/* line 651, app/assets/stylesheets/stock_analysis.scss */
.sa-converted-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: 0.15rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm, 4px);
  background: var(--bg-tertiary);
  color: var(--text-muted);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  cursor: help;
  white-space: nowrap;
}

/* line 668, app/assets/stylesheets/stock_analysis.scss */
.sa-converted-badge i {
  color: var(--text-muted);
  font-size: 0.6rem;
}

/* The analyst label styles its own icons in the accent colour with a right
   margin, and that selector outranks the badge's. Restate it here so the badge
   looks the same wherever it appears. */
/* line 674, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-inline .sa-analyst-inline-label .sa-converted-badge i {
  color: var(--text-muted);
  font-size: 0.6rem;
  margin-right: 0;
}

@media (max-width: 640px) {
  /* line 681, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-title {
    flex-wrap: wrap;
  }
  /* line 682, app/assets/stylesheets/stock_analysis.scss */
  .sa-converted-badge {
    margin-left: 0;
  }
}

/* line 685, 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 696, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge i {
  color: var(--text-muted);
  font-size: 0.75rem;
}

/* line 697, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge strong {
  color: var(--text-primary);
  margin-left: 0.2rem;
}

/* line 698, app/assets/stylesheets/stock_analysis.scss */
.sa-method-badge:hover {
  border-color: var(--text-muted);
}

/* line 700, app/assets/stylesheets/stock_analysis.scss */
.sa-method-dcf {
  border-left: 3px solid #3b82f6;
}

/* line 701, app/assets/stylesheets/stock_analysis.scss */
.sa-method-multiples {
  border-left: 3px solid #e0bc8a;
}

/* line 702, app/assets/stylesheets/stock_analysis.scss */
.sa-method-analyst {
  border-left: 3px solid #cc903c;
}

/* line 705, 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 711, 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 719, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-card-price {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 724, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-card-price small {
  font-size: 0.9rem;
  color: var(--text-muted);
  font-weight: 600;
}

/* line 726, app/assets/stylesheets/stock_analysis.scss */
.sa-intrinsic-bar {
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-bottom: 1rem;
}

/* line 731, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-overvalued {
  background: linear-gradient(90deg, #ef4444, #f87171);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 735, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-overvalued span {
  font-size: 0.7rem;
  font-weight: 700;
  color: #f7f6f4;
  letter-spacing: 0.5px;
}

/* line 737, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-undervalued {
  background: linear-gradient(90deg, #22c55e, #4ade80);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 741, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-undervalued span {
  font-size: 0.7rem;
  font-weight: 700;
  color: #f7f6f4;
  letter-spacing: 0.5px;
}

/* line 743, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-danger {
  background: linear-gradient(90deg, #dc2626, #ef4444);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 747, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-danger span {
  font-size: 0.7rem;
  font-weight: 700;
  color: #f7f6f4;
  letter-spacing: 0.5px;
}

/* line 749, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-strong-undervalued {
  background: linear-gradient(90deg, #16a34a, #22c55e);
  padding: 0.4rem 0.75rem;
  text-align: center;
}

/* line 753, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-strong-undervalued span {
  font-size: 0.7rem;
  font-weight: 700;
  color: #f7f6f4;
  letter-spacing: 0.5px;
}

/* line 756, 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 761, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-row:last-child {
  border-bottom: none;
}

/* line 763, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-separator {
  height: 1px;
  background: var(--border-color);
  margin: 0.3rem 0;
}

/* line 769, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-detail .sa-ip-label {
  font-size: 0.72rem;
  opacity: 0.7;
}

/* line 770, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-detail .sa-ip-value {
  font-size: 0.78rem;
  font-weight: 600;
}

/* line 772, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-label {
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* line 773, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 774, app/assets/stylesheets/stock_analysis.scss */
.sa-ip-intrinsic {
  color: #3b82f6;
}

/* line 777, 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 784, 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 792, 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 799, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

/* line 805, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-header i {
  font-size: 0.85rem;
}

/* line 806, 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 812, 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 826, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bull .sa-scenario-header i {
  color: #22c55e;
}

/* line 827, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bull .sa-scenario-header .sa-scenario-label {
  color: #22c55e;
}

/* line 831, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-base .sa-scenario-header i {
  color: #3b82f6;
}

/* line 832, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-base .sa-scenario-header .sa-scenario-label {
  color: #3b82f6;
}

/* line 836, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bear .sa-scenario-header i {
  color: #cc903c;
}

/* line 837, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bear .sa-scenario-header .sa-scenario-label {
  color: #cc903c;
}

/* line 840, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-price {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.6rem;
}

/* line 845, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-price small {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 600;
}

/* line 847, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-primary .sa-scenario-price {
  font-size: 2rem;
}

/* line 852, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-bar {
  border-radius: var(--radius-sm);
  overflow: hidden;
}

/* line 857, 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 865, app/assets/stylesheets/stock_analysis.scss */
.sa-scores-duo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 872, 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 878, 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 881, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-header {
  margin-bottom: 0.75rem;
}

/* line 883, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-header h3 {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

/* line 884, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-header .sa-score-hero-sub {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 887, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

/* line 894, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
}

/* line 899, 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 906, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li i {
  font-size: 0.7rem;
}

/* line 907, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li.pass i {
  color: var(--color-success);
}

/* line 908, app/assets/stylesheets/stock_analysis.scss */
.sa-score-checklist li.fail i {
  color: var(--color-danger);
}

/* line 912, app/assets/stylesheets/stock_analysis.scss */
.sa-score-hero-number {
  text-align: center;
  flex-shrink: 0;
}

/* line 916, app/assets/stylesheets/stock_analysis.scss */
.sa-score-big {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}

/* line 922, app/assets/stylesheets/stock_analysis.scss */
.sa-score-of {
  font-size: 0.85rem;
  color: var(--text-muted);
  font-weight: 400;
}

/* line 927, 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 938, app/assets/stylesheets/stock_analysis.scss */
.sa-scores-row {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}

/* line 944, 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 955, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring {
  position: relative;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}

/* line 960, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 961, 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 962, 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 963, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-good {
  stroke: var(--color-success);
}

/* line 964, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-neutral {
  stroke: var(--color-warning);
}

/* line 965, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .ring-bad {
  stroke: var(--color-danger);
}

/* line 966, 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 967, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .sa-score-number {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}

/* line 968, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-ring .sa-score-max {
  font-size: 0.5rem;
  color: var(--text-muted);
}

/* line 970, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 971, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 972, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-desc {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 975, 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 983, app/assets/stylesheets/stock_analysis.scss */
.sa-company-identity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 987, app/assets/stylesheets/stock_analysis.scss */
.sa-company-identity h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

/* line 989, 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 990, app/assets/stylesheets/stock_analysis.scss */
.sa-company-exchange {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* line 991, app/assets/stylesheets/stock_analysis.scss */
.sa-company-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 992, 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: 600;
}

/* line 1003, app/assets/stylesheets/stock_analysis.scss */
.sa-badge i {
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* line 1006, app/assets/stylesheets/stock_analysis.scss */
.sa-price-kpi-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

/* line 1012, 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 1020, 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 1021, app/assets/stylesheets/stock_analysis.scss */
.sa-price-kpi-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1024, 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 1029, 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 1029, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-card h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 1031, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-grid {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

/* line 1032, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-item {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

/* line 1033, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-label {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* line 1034, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1035, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-change {
  font-size: 0.82rem;
  font-weight: 700;
}

/* line 1037, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-change.positive {
  color: var(--color-success);
}

/* line 1038, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-change.negative {
  color: var(--color-danger);
}

/* line 1040, app/assets/stylesheets/stock_analysis.scss */
.sa-analyst-range {
  flex: 1;
  min-width: 200px;
}

/* line 1041, 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 1049, app/assets/stylesheets/stock_analysis.scss */
.sa-range-fill {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, #ef4444 0%, #cc903c 40%, #22c55e 100%);
}

/* line 1050, 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 1060, 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 1063, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai {
  background: linear-gradient(135deg, rgba(var(--accent-primary-rgb), 0.04) 0%, rgba(204, 144, 60, 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 1071, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .card-ai-signal-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

/* line 1079, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .card-ai-reasoning {
  margin-bottom: 0.5rem;
}

/* line 1083, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block {
  background: rgba(15, 23, 42, 0.8);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 1090, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block .reasoning-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--accent-primary);
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1102, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block .reasoning-text {
  font-size: 0.85rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

/* line 1109, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.daily {
  background: rgba(0, 180, 216, 0.1);
  border-left: 3px solid #00b4d8;
}

/* line 1112, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 1115, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement {
  background: linear-gradient(135deg, rgba(255, 152, 0, 0.08) 0%, rgba(255, 87, 34, 0.08) 100%);
  border: 1px solid rgba(255, 152, 0, 0.25);
  margin-top: 0.5rem;
}

/* line 1120, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* line 1125, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header .disagreement-icon {
  font-size: 1rem;
}

/* line 1126, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header .disagreement-title {
  color: #cc903c;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* line 1135, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* line 1143, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-badges {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* line 1150, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

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

/* line 1155, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value {
  font-weight: 600;
  font-size: 0.8rem;
  padding: 2px 8px;
  border-radius: 4px;
}

/* line 1160, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.up, .sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.bullish {
  color: #22c55e;
  background: rgba(34, 197, 94, 0.15);
}

/* line 1161, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.down, .sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value.bearish {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.15);
}

/* line 1162, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item .disagreement-value .conf {
  font-weight: 400;
  font-size: 0.7rem;
  margin-left: 2px;
  color: var(--text-muted);
}

/* line 1166, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}

/* line 1174, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 1179, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
}

/* line 1189, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .section-title i {
  color: var(--accent-primary);
}

/* line 1192, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-blocks-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

@media (max-width: 768px) {
  /* line 1192, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1199, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  padding: 0.75rem;
  border-left: 3px solid rgba(255, 255, 255, 0.2);
}

/* line 1205, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-icon {
  font-size: 1rem;
  margin-right: 0.4rem;
}

/* line 1206, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.7);
}

/* line 1213, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-content {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.9);
  margin: 0.5rem 0 0 0;
}

/* line 1220, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 1220, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 1221, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.company {
  border-left-color: #e0bc8a;
}

/* line 1221, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.company .block-title {
  color: #e0bc8a;
}

/* line 1222, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.technical {
  border-left-color: #e0bc8a;
}

/* line 1222, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.technical .block-title {
  color: #e0bc8a;
}

/* line 1223, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.catalysts {
  border-left-color: #22c55e;
}

/* line 1223, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.catalysts .block-title {
  color: #22c55e;
}

/* line 1228, 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 1237, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner > i {
  font-size: 1.3rem;
  color: #ffab00;
  flex-shrink: 0;
}

/* line 1238, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner div {
  flex: 1;
}

/* line 1239, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner strong {
  font-size: 0.85rem;
  color: var(--text-primary);
  display: block;
  margin-bottom: 2px;
}

/* line 1240, 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 1241, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner .btn {
  flex-shrink: 0;
}

/* line 1244, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated {
  margin-top: 1rem;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1244, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated i {
  margin-right: 0.3rem;
}

/* line 1247, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-row {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}

/* line 1253, 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 1263, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  font-weight: 600;
}

/* line 1264, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1265, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
}

/* line 1268, 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 1274, 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 1279, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-panel h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 1283, app/assets/stylesheets/stock_analysis.scss */
.sa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
}

/* line 1289, app/assets/stylesheets/stock_analysis.scss */
.sa-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.9) 0%, rgba(17, 24, 37, 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 1301, app/assets/stylesheets/stock_analysis.scss */
.sa-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  opacity: 0;
  transition: opacity 0.3s;
}

/* line 1311, 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 1321, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(204, 144, 60, 0.12);
  border-color: rgba(var(--accent-primary-rgb), 0.3);
}

/* line 1325, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::before {
  opacity: 1;
}

/* line 1326, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::after {
  opacity: 1;
}

/* line 1330, app/assets/stylesheets/stock_analysis.scss */
.sa-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1338, app/assets/stylesheets/stock_analysis.scss */
.sa-card-ident {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 1345, app/assets/stylesheets/stock_analysis.scss */
.sa-card-symbol {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1351, 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 1359, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-complete {
  background: rgba(var(--accent-primary-rgb), 0.15);
  color: var(--accent-primary);
}

/* line 1360, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-warning {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 1361, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-error {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 1362, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-pending {
  background: rgba(148, 163, 184, 0.12);
  color: #94a3b8;
}

/* line 1365, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-section {
  position: relative;
}

/* line 1366, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

/* line 1369, 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 1374, app/assets/stylesheets/stock_analysis.scss */
.sa-vh-badge strong {
  color: var(--text-primary);
  margin-left: 0.2rem;
}

/* line 1376, 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 1381, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-legend {
  display: flex;
  gap: 1.5rem;
  margin-top: 0.75rem;
  justify-content: center;
}

/* line 1384, 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 1388, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-dot {
  width: 10px;
  height: 3px;
  border-radius: 2px;
}

/* line 1391, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-price {
  background: rgba(34, 197, 94, 0.9);
}

/* line 1392, 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 1395, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.35rem;
  cursor: help;
}

/* line 1402, 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 1408, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover > i {
  color: var(--accent-primary);
}

/* line 1410, 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(17, 24, 37, 0.97);
  border: 1px solid rgba(204, 144, 60, 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 1432, 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(204, 144, 60, 0.25);
}

/* line 1443, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover .sa-tooltip-content {
  display: block;
}

/* line 1457, 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 1462, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title .sa-tooltip-trigger {
  vertical-align: middle;
}

/* line 1463, 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 1467, 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 1469, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-card .sa-tooltip-trigger .sa-tooltip-content {
  width: 220px;
}

@media (max-width: 768px) {
  /* line 1474, app/assets/stylesheets/stock_analysis.scss */
  .sa-tooltip-trigger .sa-tooltip-content {
    width: 200px;
    font-size: 0.63rem;
  }
}

/* line 1480, app/assets/stylesheets/stock_analysis.scss */
.sa-toc-help {
  margin-top: 1rem;
  padding: 0.5rem 0.6rem;
  background: rgba(204, 144, 60, 0.06);
  border: 1px solid rgba(204, 144, 60, 0.15);
  border-radius: 6px;
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}

/* line 1489, app/assets/stylesheets/stock_analysis.scss */
.sa-toc-help i {
  color: var(--accent-primary);
  margin-right: 0.3rem;
}

/* line 1492, 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 1501, app/assets/stylesheets/stock_analysis.scss */
.sa-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 1508, 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 1516, app/assets/stylesheets/stock_analysis.scss */
.sa-card-price {
  font-weight: 700;
  color: var(--text-primary);
  font-size: var(--font-sm);
}

/* line 1522, app/assets/stylesheets/stock_analysis.scss */
.sa-card-scores {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1528, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1533, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-label {
  font-size: 0.6rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 1534, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value {
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 1536, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-good {
  color: var(--color-success);
}

/* line 1537, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-neutral {
  color: var(--color-warning);
}

/* line 1538, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-bad {
  color: var(--color-danger);
}

/* line 1541, app/assets/stylesheets/stock_analysis.scss */
.sa-card-footer {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
}

/* line 1547, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* line 1547, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated i {
  margin-right: 3px;
}

/* line 1550, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section {
  margin-bottom: 1.5rem;
}

/* line 1552, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section .sa-section-title i {
  color: #cc903c;
}

/* line 1555, app/assets/stylesheets/stock_analysis.scss */
.sa-section-subtitle {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-left: 0.5rem;
}

/* line 1562, 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 1568, 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(27, 35, 51, 0.9) 0%, rgba(17, 24, 37, 0.95) 100%);
  border: 1px solid rgba(204, 144, 60, 0.15);
  border-radius: var(--radius-lg);
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1579, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-card:hover {
  transform: translateY(-2px);
  border-color: rgba(204, 144, 60, 0.35);
  box-shadow: 0 8px 24px rgba(204, 144, 60, 0.08);
}

/* line 1586, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1592, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-logo {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: contain;
}

/* line 1599, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-identity {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

/* line 1606, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-symbol {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1612, 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 1620, 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 1627, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 1633, 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 1643, app/assets/stylesheets/stock_analysis.scss */
.sa-metric.sa-metric-good {
  background: rgba(34, 197, 94, 0.1);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.2);
}

/* line 1649, app/assets/stylesheets/stock_analysis.scss */
.sa-metric.sa-metric-ok {
  background: rgba(204, 144, 60, 0.08);
  color: #e0bc8a;
  border-color: rgba(204, 144, 60, 0.15);
}

/* line 1655, 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 1662, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-label {
  opacity: 0.7;
}

/* line 1666, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-value {
  font-weight: 700;
}

/* line 1671, app/assets/stylesheets/stock_analysis.scss */
.sa-empty {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--text-muted);
}

/* line 1675, app/assets/stylesheets/stock_analysis.scss */
.sa-empty i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.2;
}

/* line 1676, app/assets/stylesheets/stock_analysis.scss */
.sa-empty h3 {
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
}

/* line 1680, app/assets/stylesheets/stock_analysis.scss */
.sa-show-symbol {
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

/* line 1681, 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 1682, 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 1683, app/assets/stylesheets/stock_analysis.scss */
.sa-price-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1685, 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: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1699, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn:hover {
  background: var(--accent-primary);
  color: var(--text-inverse);
  border-color: var(--accent-primary);
}

/* line 1700, 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 1701, 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(204, 144, 60, 0.3);
  }
  50% {
    box-shadow: 0 0 12px 3px rgba(204, 144, 60, 0.15);
  }
}

/* line 1711, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-overlay {
  margin-bottom: 2rem;
}

/* line 1713, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-card {
  text-align: center;
  padding: 3.5rem 2rem;
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.9) 0%, rgba(17, 24, 37, 0.95) 100%);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
}

/* line 1723, 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, #cc903c 0%, #e0bc8a 100%);
}

/* line 1732, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon {
  margin-bottom: 1rem;
}

/* line 1734, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
}

/* line 1737, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-error .sa-loading-icon i {
  color: var(--color-danger);
}

/* line 1738, 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 1739, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-message {
  color: var(--text-secondary);
  font-size: var(--font-sm);
  margin-bottom: 1.5rem;
}

/* line 1741, 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 1750, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-progress-bar {
  height: 100%;
  background: linear-gradient(135deg, #cc903c 0%, #e0bc8a 100%);
  border-radius: var(--radius-full);
  transition: width 0.5s ease;
  box-shadow: 0 0 8px rgba(204, 144, 60, 0.4);
}

/* line 1758, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-pct {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--accent-primary);
}

/* line 1761, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis {
  text-align: center;
  padding: 3.5rem 2rem;
  margin-bottom: 2rem;
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.9) 0%, rgba(17, 24, 37, 0.95) 100%);
  border: 1px dashed rgba(var(--accent-primary-rgb), 0.3);
  border-radius: var(--radius-xl);
}

/* line 1770, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon {
  margin-bottom: 1rem;
}

/* line 1770, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
  opacity: 0.5;
}

/* line 1771, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis h2 {
  font-size: var(--font-xl);
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* line 1772, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis p {
  color: var(--text-secondary);
  font-size: var(--font-sm);
}

/* line 1773, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-note {
  margin-top: 1rem;
  font-size: 0.7rem !important;
  color: var(--text-muted) !important;
}

/* line 1775, 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, #cc903c 0%, #e0bc8a 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(204, 144, 60, 0.3);
}

/* line 1790, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(204, 144, 60, 0.4);
}

/* line 1792, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-lg {
  padding: 0.9rem 2rem;
  font-size: var(--font-lg);
}

/* line 1795, 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 1802, app/assets/stylesheets/stock_analysis.scss */
.sa-nav-tabs::-webkit-scrollbar {
  display: none;
}

/* line 1805, 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: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 1818, app/assets/stylesheets/stock_analysis.scss */
.sa-tab:hover {
  color: var(--text-primary);
}

/* line 1819, 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 1827, app/assets/stylesheets/stock_analysis.scss */
.sa-tab-content {
  display: none;
}

/* line 1827, 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 1831, app/assets/stylesheets/stock_analysis.scss */
.sa-section-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.25rem;
}

/* line 1837, app/assets/stylesheets/stock_analysis.scss */
.sa-panel {
  position: relative;
  background: linear-gradient(145deg, rgba(27, 35, 51, 0.9) 0%, rgba(17, 24, 37, 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 1846, 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 1852, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-wide {
  grid-column: 1 / -1;
}

/* line 1854, 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 1859, 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 1867, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-header h3 i {
  color: var(--accent-primary);
  font-size: 0.85rem;
}

/* line 1871, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-body {
  padding: 1.5rem;
}

/* line 1874, 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 1881, app/assets/stylesheets/stock_analysis.scss */
.sa-score-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

/* line 1888, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring {
  position: relative;
  width: 80px;
  height: 80px;
}

/* line 1893, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 1899, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 4;
}

/* line 1904, 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 1910, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-good {
  stroke: var(--color-success);
  filter: drop-shadow(0 0 4px rgba(34, 197, 94, 0.4));
}

/* line 1911, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-neutral {
  stroke: var(--color-warning);
  filter: drop-shadow(0 0 4px rgba(204, 144, 60, 0.4));
}

/* line 1912, 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 1915, 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 1924, app/assets/stylesheets/stock_analysis.scss */
.sa-score-number {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}

/* line 1925, app/assets/stylesheets/stock_analysis.scss */
.sa-score-max {
  font-size: 0.6rem;
  color: var(--text-muted);
  margin-top: 2px;
}

/* line 1926, app/assets/stylesheets/stock_analysis.scss */
.sa-score-label {
  font-size: 0.7rem;
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 1927, app/assets/stylesheets/stock_analysis.scss */
.sa-score-desc {
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* line 1930, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1.25rem;
}

/* line 1936, 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 1944, 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: 600;
}

/* line 1945, 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 1948, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 1954, 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 1961, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-label {
  font-size: var(--font-sm);
  color: var(--text-muted);
}

/* line 1962, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-value {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1965, app/assets/stylesheets/stock_analysis.scss */
.sa-target-visual {
  text-align: center;
}

/* line 1967, 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 1975, app/assets/stylesheets/stock_analysis.scss */
.sa-target-consensus {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1976, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 1978, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.positive {
  color: var(--color-success);
}

/* line 1979, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.negative {
  color: var(--color-danger);
}

/* line 1982, app/assets/stylesheets/stock_analysis.scss */
.sa-target-range {
  max-width: 280px;
  margin: 0 auto;
}

/* line 1983, 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 1992, app/assets/stylesheets/stock_analysis.scss */
.sa-target-bar-fill {
  height: 100%;
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, #ef4444 0%, #cc903c 35%, #cc903c 100%);
}

/* line 1998, 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 2008, app/assets/stylesheets/stock_analysis.scss */
.sa-target-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 2011, 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 2018, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 2019, 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 2020, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 2022, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.positive {
  color: var(--color-success);
}

/* line 2023, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.negative {
  color: var(--color-danger);
}

/* line 2026, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-verdict {
  text-align: center;
  margin-top: 1rem;
}

/* line 2027, 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 2036, app/assets/stylesheets/stock_analysis.scss */
.sa-verdict-buy {
  background: rgba(34, 197, 94, 0.12);
  color: var(--color-success);
  border: 1px solid rgba(34, 197, 94, 0.3);
}

/* line 2037, app/assets/stylesheets/stock_analysis.scss */
.sa-verdict-fair {
  background: rgba(204, 144, 60, 0.12);
  color: var(--color-warning);
  border: 1px solid rgba(204, 144, 60, 0.3);
}

/* line 2038, 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 2041, 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 2049, app/assets/stylesheets/stock_analysis.scss */
.sa-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

/* line 2054, app/assets/stylesheets/stock_analysis.scss */
.sa-table th, .sa-table td {
  padding: 0.7rem 0.9rem;
  text-align: right;
}

/* line 2057, 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 2067, 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 2078, 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 2082, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:last-child {
  border-bottom: none;
}

/* line 2083, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:hover {
  background: rgba(var(--accent-primary-rgb), 0.03);
}

/* line 2087, app/assets/stylesheets/stock_analysis.scss */
.sa-td-label {
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
}

/* line 2088, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value {
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2090, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.positive {
  color: var(--color-success);
}

/* line 2091, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.negative {
  color: var(--color-danger);
}

/* line 2093, app/assets/stylesheets/stock_analysis.scss */
.sa-td-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
  max-width: 140px;
}

/* line 2096, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-bars {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

/* line 2097, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-divider {
  height: 1px;
  background: var(--border-color);
  margin: 0.5rem 0;
}

/* line 2099, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 2100, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 2101, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 2102, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value {
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 2104, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.positive {
  color: var(--color-success);
}

/* line 2105, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.negative {
  color: var(--color-danger);
}

/* line 2108, 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 2116, 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 2120, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-fill.positive {
  background: linear-gradient(90deg, #22c55e, #4ade80);
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.3);
}

/* line 2121, 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 2125, app/assets/stylesheets/stock_analysis.scss */
.sa-peers-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 2126, 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 2137, 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 2141, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper {
  position: relative;
  height: 260px;
  width: 100%;
}

/* line 2145, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 2149, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}

/* line 2155, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item {
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2160, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}

/* line 2161, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 2162, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2163, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}

/* line 2164, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-bar {
  margin-top: 6px;
}

/* line 2166, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-track {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2173, 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 2177, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-cheap {
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

/* line 2178, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-fair {
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
}

/* line 2179, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-expensive {
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 2182, 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 2191, app/assets/stylesheets/stock_analysis.scss */
.sa-health-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 2rem;
}

/* line 2197, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric {
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2198, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 2199, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 2200, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-value {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2202, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-track {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2209, 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 2213, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-fill.gauge-good {
  background: linear-gradient(90deg, #22c55e, #4ade80);
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.3);
}

/* line 2214, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-fill.gauge-neutral {
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
  box-shadow: 0 0 6px rgba(204, 144, 60, 0.3);
}

/* line 2215, 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 2219, 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 2231, 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 2243, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-scores {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

/* line 2244, 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 2251, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-pill strong {
  color: var(--text-primary);
  margin-left: 0.25rem;
  font-size: 0.8rem;
}

/* line 2257, 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 2266, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link i {
  margin-right: 0.3rem;
  font-size: 0.65rem;
}

/* line 2267, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link:hover {
  text-decoration: none !important;
  background: rgba(var(--accent-primary-rgb), 0.1);
}

/* line 2273, 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 2279, 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 2292, 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 2293, app/assets/stylesheets/stock_analysis.scss */
.sa-full-analysis-btn i {
  font-size: 0.6rem;
}

/* line 2296, 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 2303, 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 2308, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-compact {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2309, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-kpis {
    width: 100%;
  }
  /* line 2310, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2311, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range-mini {
    max-width: 100%;
  }
  /* line 2312, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-compact {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2313, app/assets/stylesheets/stock_analysis.scss */
  .stock-analysis-page {
    padding: 0 0.5rem;
  }
  /* line 2315, 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 2329, app/assets/stylesheets/stock_analysis.scss */
  .sa-layout-with-toc {
    display: block;
  }
  /* line 2330, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.25rem;
    width: 100%;
  }
  /* line 2331, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-hero {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  /* line 2332, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenarios-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2333, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenario-primary {
    transform: none;
  }
  /* line 2334, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-duo {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2335, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-card {
    padding: 1rem;
  }
  /* line 2336, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-body {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
  }
  /* line 2337, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2338, app/assets/stylesheets/stock_analysis.scss */
  .sa-mini-score-card {
    min-width: auto;
    padding: 0.75rem 1rem;
  }
  /* line 2339, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: 1fr;
  }
  /* line 2340, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: 1fr;
  }
  /* line 2341, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 2342, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-card {
    padding: 0.75rem;
  }
  /* line 2343, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2344, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  /* line 2345, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 64px;
    height: 64px;
  }
  /* line 2346, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-number {
    font-size: 1rem;
  }
  /* line 2347, app/assets/stylesheets/stock_analysis.scss */
  .sa-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2348, app/assets/stylesheets/stock_analysis.scss */
  .sa-show-name {
    max-width: 100px;
  }
  /* line 2349, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 180px;
  }
  /* line 2350, app/assets/stylesheets/stock_analysis.scss */
  .sa-valuation-grid {
    grid-template-columns: 1fr;
  }
  /* line 2351, app/assets/stylesheets/stock_analysis.scss */
  .sa-health-grid {
    grid-template-columns: 1fr;
  }
  /* line 2352, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    gap: 0.5rem;
  }
  /* line 2353, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi {
    min-width: auto;
    padding: 0.6rem 0.75rem;
  }
  /* line 2354, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2355, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai {
    margin-left: 0;
    margin-right: 0;
    padding: 1rem;
  }
  /* line 2356, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-title {
    font-size: 1rem;
  }
  /* line 2357, app/assets/stylesheets/stock_analysis.scss */
  .sa-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
  }
  /* line 2358, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-hero {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2359, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-badges {
    gap: 0.35rem;
  }
  /* line 2360, app/assets/stylesheets/stock_analysis.scss */
  .sa-badge {
    font-size: 0.65rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 2361, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-grid {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2362, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range {
    min-width: auto;
    width: 100%;
  }
  /* line 2363, app/assets/stylesheets/stock_analysis.scss */
  .sa-yield-row {
    flex-direction: column;
    gap: 0.75rem;
  }
}

@media (max-width: 480px) {
  /* line 2367, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2368, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 56px;
    height: 56px;
  }
  /* line 2369, app/assets/stylesheets/stock_analysis.scss */
  .sa-table {
    font-size: 0.75rem;
  }
  /* line 2369, app/assets/stylesheets/stock_analysis.scss */
  .sa-table th, .sa-table td {
    padding: 0.5rem;
  }
  /* line 2370, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 160px;
  }
  /* line 2371, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: 1fr;
  }
  /* line 2372, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-card-price {
    font-size: 1.4rem;
  }
  /* line 2373, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-big {
    font-size: 2rem;
  }
  /* line 2374, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    flex-wrap: wrap;
  }
  /* line 2375, 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 2379, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.75rem;
  }
  /* line 2380, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  /* line 2381, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2382, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 2388, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-undefined {
  font-size: 0.68rem;
  font-style: italic;
  color: var(--text-muted, #64748b);
}

/* line 2395, app/assets/stylesheets/stock_analysis.scss */
.sa-currency-banner {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: rgba(204, 144, 60, 0.08);
  border: 1px solid rgba(204, 144, 60, 0.28);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  margin: 0 0 1rem;
}

/* line 2405, app/assets/stylesheets/stock_analysis.scss */
.sa-currency-banner i {
  color: #cc903c;
  font-size: 0.95rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

/* line 2412, app/assets/stylesheets/stock_analysis.scss */
.sa-currency-banner strong {
  display: block;
  color: #cc903c;
  font-size: 0.85rem;
  margin-bottom: 0.2rem;
}

/* line 2419, app/assets/stylesheets/stock_analysis.scss */
.sa-currency-banner p {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}

/* line 2428, app/assets/stylesheets/stock_analysis.scss */
.sa-facets {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
}

/* line 2437, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-row {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  flex-wrap: wrap;
}

/* line 2444, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-summary {
  display: none;
  list-style: none;
  cursor: pointer;
}

/* line 2448, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-summary::-webkit-details-marker {
  display: none;
}

/* line 2451, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-title {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-muted, #64748b);
  flex: 0 0 5.5rem;
}

/* line 2460, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  flex: 1;
  min-width: 0;
}

/* line 2468, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 2483, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chip:hover {
  border-color: rgba(204, 144, 60, 0.4);
  color: #f7f6f4;
}

/* line 2488, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chip.is-active {
  background: rgba(204, 144, 60, 0.15);
  border-color: rgba(204, 144, 60, 0.5);
  color: #cc903c;
}

/* line 2495, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-count {
  font-size: 0.64rem;
  font-weight: 700;
  opacity: 0.6;
}

@media (max-width: 767.98px) {
  /* line 2504, app/assets/stylesheets/stock_analysis.scss */
  .sa-facets {
    gap: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 0.35rem 0.6rem;
  }
  /* line 2511, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-row {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 0.35rem 0;
  }
  /* line 2516, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-row:last-child {
    border-bottom: none;
  }
  /* line 2519, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0;
    min-height: 40px;
  }
  /* line 2527, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-title {
    flex: 1;
  }
  /* line 2529, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-current {
    font-size: 0.72rem;
    font-weight: 600;
    color: #cc903c;
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* line 2539, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-caret {
    font-size: 0.6rem;
    color: rgba(255, 255, 255, 0.35);
    transition: transform 0.2s ease;
  }
  /* line 2545, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-row[open] .sa-facet-caret {
    transform: rotate(180deg);
  }
  /* line 2547, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-chips {
    flex-wrap: wrap;
    overflow-x: visible;
    padding: 0.25rem 0 0.5rem;
  }
  /* line 2553, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-chip {
    padding: 0.35rem 0.7rem;
  }
}

/* line 2559, app/assets/stylesheets/stock_analysis.scss */
.sa-toolbar {
  padding: 0 2rem;
  margin: 1.25rem 0 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

/* line 2566, app/assets/stylesheets/stock_analysis.scss */
.sa-toolbar .sa-search-section {
  margin: 0;
}

/* line 2570, app/assets/stylesheets/stock_analysis.scss */
.sa-toolbar .sa-search-wrapper {
  margin: 0;
  max-width: 560px;
}

/* line 2577, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chip.is-muted {
  border-style: dashed;
  border-color: rgba(255, 255, 255, 0.14);
  background: transparent;
  color: rgba(255, 255, 255, 0.4);
  cursor: default;
}

/* line 2584, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chip.is-muted:hover {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 767.98px) {
  /* line 2591, app/assets/stylesheets/stock_analysis.scss */
  .sa-toolbar {
    padding: 0 1rem;
    margin: 1rem 0 1.25rem;
  }
  /* line 2595, app/assets/stylesheets/stock_analysis.scss */
  .sa-toolbar .sa-search-wrapper {
    max-width: 100%;
  }
}

/* line 2599, app/assets/stylesheets/stock_analysis.scss */
.sa-section-note {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: -0.5rem 0 1rem;
  font-size: 0.75rem;
  color: var(--text-muted, #64748b);
}

/* line 2607, app/assets/stylesheets/stock_analysis.scss */
.sa-section-note i {
  font-size: 0.7rem;
  opacity: 0.7;
}
/* 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: #f7f6f4;
  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: #f7f6f4;
  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: #f7f6f4;
  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;
  }
}
/* ============================================================
   Bandeau d'offre de lancement

   L'ancien dégradé indigo / violet n'appartenait à aucune
   palette du produit : il tranchait sur le fond sombre de
   l'application au lieu de s'y poser. Il reprend ici la
   surface et l'or de marque.

   Couleurs : #111825 surface, #cc903c or, #e0bc8a or éclairci.
   ============================================================ */

.launch-promo-banner {
  position: relative;
  z-index: 1040;
  padding: 0.7rem 1rem;
  background: #111825;
  color: #e2e8f0;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.45;
  /* Deux filets d'or plutôt qu'un aplat : le bandeau se signale
     sans crier, et laisse la page garder son contraste. */
  border-top: 1px solid rgba(204, 144, 60, 0.22);
  border-bottom: 1px solid rgba(204, 144, 60, 0.22);
  box-shadow: inset 0 1px 0 rgba(204, 144, 60, 0.10);
}

.launch-promo-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  max-width: 960px;
  margin: 0 auto;
  padding-right: 2rem;
  flex-wrap: wrap;
}

.launch-promo-icon {
  flex-shrink: 0;
  font-size: 1rem;
}

.launch-promo-text {
  text-align: center;
}

/* Le code est la seule chose à recopier : c'est lui qui porte l'or. */
.launch-promo-code {
  display: inline-block;
  padding: 0.18rem 0.6rem;
  border: 1px solid rgba(204, 144, 60, 0.38);
  border-radius: 6px;
  background: rgba(204, 144, 60, 0.10);
  color: #e0bc8a;
  font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  user-select: all;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.launch-promo-code:hover {
  background: rgba(204, 144, 60, 0.18);
  border-color: rgba(204, 144, 60, 0.6);
}

/* Contour plutôt qu'aplat : l'or plein reste réservé à l'appel
   à l'action principal de la page, qui ne doit pas être doublé. */
.launch-promo-cta {
  display: inline-block;
  flex-shrink: 0;
  padding: 0.38rem 0.95rem;
  border: 1px solid rgba(204, 144, 60, 0.45);
  border-radius: 8px;
  background: transparent;
  color: #cc903c !important;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.launch-promo-cta:hover {
  background: rgba(204, 144, 60, 0.12);
  border-color: #cc903c;
  color: #e0bc8a !important;
}

.launch-promo-close {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  padding: 0.2rem 0.5rem;
  border: none;
  background: none;
  color: #64748b;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.2s ease;
}

.launch-promo-close:hover {
  color: #e2e8f0;
}

/* Thème clair : même construction, valeurs inversées. */
[data-theme="light"] .launch-promo-banner {
  background: #fdf8f0;
  color: #3b3226;
  border-top-color: rgba(204, 144, 60, 0.35);
  border-bottom-color: rgba(204, 144, 60, 0.35);
  box-shadow: none;
}

[data-theme="light"] .launch-promo-code {
  background: rgba(204, 144, 60, 0.14);
  border-color: rgba(204, 144, 60, 0.45);
  color: #8a6227;
}

[data-theme="light"] .launch-promo-cta {
  border-color: rgba(204, 144, 60, 0.55);
  color: #8a6227 !important;
}

[data-theme="light"] .launch-promo-cta:hover {
  background: rgba(204, 144, 60, 0.14);
  color: #6d4c1c !important;
}

[data-theme="light"] .launch-promo-close {
  color: #9c8f7c;
}

[data-theme="light"] .launch-promo-close:hover {
  color: #3b3226;
}

/* Tablette */
@media (max-width: 768px) {
  .launch-promo-banner {
    padding: 0.6rem 0.75rem;
    font-size: 0.8125rem;
  }

  .launch-promo-content {
    gap: 0.45rem;
  }

  .launch-promo-code {
    padding: 0.12rem 0.45rem;
    font-size: 0.75rem;
  }
}

/* Webview : laisser la place à l'encoche */
.webview-mode .launch-promo-banner {
  padding-top: calc(env(safe-area-inset-top, 0px) + 0.7rem);
}

/* Mobile */
@media (max-width: 480px) {
  .launch-promo-banner {
    padding: 0.55rem 0.6rem;
    font-size: 0.75rem;
  }

  .launch-promo-content {
    flex-direction: column;
    gap: 0.4rem;
    padding-right: 1.5rem;
  }

  .launch-promo-icon {
    display: none;
  }

  .launch-promo-cta {
    padding: 0.32rem 0.75rem;
    font-size: 0.75rem;
  }
}
/* ============================================================
   Mobile Dashboard Redesign
   Loaded LAST in all.css to win the cascade on mobile overrides.
   Matches artifact: Dashboard Mobile — Redesign v2
   ============================================================ */

/* ---- CSS Variables (mirrors artifact tokens) ---- */
:root {
  --mdr-deep-space: #000615;
  --mdr-card-surface: #111825;
  --mdr-card-border: rgba(255,255,255,0.06);
  --mdr-brand-gold: #cc903c;
  --mdr-brand-gold-light: #e0bc8a;
  --mdr-gold-glow: rgba(204, 144, 60, 0.15);
  --mdr-text-primary: #ffffff;
  --mdr-text-soft: #94a3b8;
  --mdr-text-dim: #64748b;
  --mdr-signal-buy: #22c55e;
  --mdr-signal-sell: #ef4444;
  --mdr-signal-hold: #cc903c;
}

/* ==========================================================
   0. MOBILE BASE — clean typography reset for all mobile sections
   ========================================================== */
@media (max-width: 767.98px) {
  .mobile-greeting,
  .mobile-portfolio-card,
  .mobile-insights-section {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.4;
  }

  /* Remove container side-padding on mobile so cards go edge-to-edge with their own padding */
  .dashboard-container > .container {
    padding-left: 0;
    padding-right: 0;
  }
}

/* ==========================================================
   1. HIDE DESKTOP ELEMENTS ON MOBILE
   ========================================================== */
@media (max-width: 767.98px) {
  .dashboard-container .dashboard-tabs {
    display: none !important;
  }

  .dashboard-container .dashboard-header.compact-header {
    display: none !important;
  }

  .dashboard-container .portfolio-summary-bar {
    display: none !important;
  }

  .dashboard-container .dashboard-bubbles-row {
    display: none !important;
  }

  .dashboard-container .bubbles-action-btns {
    display: none !important;
  }

  .dashboard-container .portfolio-limit-warning {
    margin-top: 0;
  }
}


/* ==========================================================
   2. MOBILE GREETING — matches artifact .greeting
   ========================================================== */
.mobile-greeting {
  padding: 40px 20px 4px;
}

/* Light weight, not bold. Montserrat 300 is really loaded
   (layouts/application.html.erb:184), so this is a true light cut rather than a
   browser-synthesised one. Size is nudged up 2px because a light weight holds
   less presence at the same size, and the tracking is pulled in slightly to
   stop the wide Montserrat letterforms from drifting apart. */
.mobile-greeting-hello {
  font-size: 28px;
  font-weight: 300;
  color: var(--mdr-text-primary);
  line-height: 1.2;
  letter-spacing: -0.3px;
  margin: 0;
}

.mobile-greeting-sub {
  font-size: 14px;
  font-weight: 300;
  color: var(--mdr-text-soft);
  line-height: 1.4;
  letter-spacing: -0.1px;
  margin: 5px 0 0;
}

/* Greeting line: name on the left, signal count pill on the right */
.mobile-greeting-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.mobile-greeting-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  /* optically settles the pill against the heading's cap height */
  margin-top: 5px;
  padding: 4px 10px;
  border-radius: 20px;
  background: var(--mdr-gold-glow);
  border: 1px solid rgba(204, 144, 60, 0.2);
  color: var(--mdr-brand-gold);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* currentColor keeps the live-pulse dot gold inside the pill; a green dot
   would clash with the gold and read as a buy signal. */
.mobile-greeting-badge .signal-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
  animation: signal-pulse 2s ease-in-out infinite;
}

@keyframes signal-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}


/* ==========================================================
   3. MOBILE PORTFOLIO CARD — matches artifact .portfolio-card
   ========================================================== */
.mobile-portfolio-card {
  margin: 16px 15px 0;
  background: var(--mdr-card-surface);
  border: 1px solid var(--mdr-card-border);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}

/* Gold accent line at top */
.mobile-portfolio-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mdr-brand-gold), transparent);
  opacity: 0.3;
  z-index: 1;
}

.mobile-portfolio-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.mobile-portfolio-header:active {
  background: rgba(255,255,255,0.02);
}

.mobile-portfolio-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-portfolio-icon {
  color: var(--mdr-brand-gold);
  font-size: 14px;
  flex-shrink: 0;
}

.mobile-portfolio-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--mdr-text-soft);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mobile-portfolio-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-portfolio-mini-pnl {
  font-size: 11px;
  font-weight: 600;
  display: none;
}

.mobile-portfolio-mini-pnl.positive { color: var(--mdr-signal-buy); }
.mobile-portfolio-mini-pnl.negative { color: var(--mdr-signal-sell); }

/* Show mini P&L only when collapsed */
.mobile-portfolio-card:not(.is-open) .mobile-portfolio-mini-pnl {
  display: inline;
}

.mobile-portfolio-chevron {
  color: var(--mdr-text-dim);
  font-size: 12px;
  transition: transform 0.3s ease;
}

.mobile-portfolio-card.is-open .mobile-portfolio-chevron {
  transform: rotate(180deg);
}

/* Portfolio body (expanded content) */
.mobile-portfolio-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.mobile-portfolio-card.is-open .mobile-portfolio-body {
  max-height: 320px;
}

.mobile-portfolio-body-inner {
  padding: 0 20px 20px;
}

/* Small label above the hero, so it is unambiguous that the big figure is the
   realised gain and not the holdings value */
.mobile-portfolio-label-inline {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--mdr-text-dim);
  margin-bottom: 2px;
}

/* Current holdings value, demoted under the gain */
.mobile-portfolio-current {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: var(--mdr-text-soft);
  line-height: 1.45;
}

.mobile-portfolio-current strong {
  font-weight: 600;
  color: var(--mdr-text-primary);
  font-variant-numeric: tabular-nums;
}

.mobile-portfolio-value {
  font-size: 32px;
  font-weight: 700;
  color: var(--mdr-text-primary);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.5px;
  line-height: 1.1;
}

.mobile-portfolio-value.positive { color: var(--mdr-signal-buy); }
.mobile-portfolio-value.negative { color: var(--mdr-signal-sell); }

/* The euro equivalent gets its own line — inline it wrapped mid-parenthesis */
.mobile-portfolio-secondary {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--mdr-text-soft);
  letter-spacing: 0;
}

.mobile-portfolio-change {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.mobile-pnl-amount {
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.mobile-pnl-amount.positive { color: var(--mdr-signal-buy); }
.mobile-pnl-amount.negative { color: var(--mdr-signal-sell); }

.mobile-pnl-percent {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 6px;
}

.mobile-pnl-percent.positive {
  color: var(--mdr-signal-buy);
  background: rgba(34, 197, 94, 0.1);
}

.mobile-pnl-percent.negative {
  color: var(--mdr-signal-sell);
  background: rgba(239, 68, 68, 0.1);
}

/* Sparkline chart area */
.mobile-portfolio-chart {
  margin-top: 16px;
  height: 60px;
}

.mobile-portfolio-chart svg {
  width: 100%;
  height: 100%;
}

/* Stats row */
.mobile-portfolio-stats {
  display: flex;
  gap: 0;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--mdr-card-border);
}

.mobile-portfolio-stat {
  flex: 1;
  text-align: center;
}

.mobile-portfolio-stat + .mobile-portfolio-stat {
  border-left: 1px solid var(--mdr-card-border);
}

.mobile-portfolio-stat-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--mdr-text-primary);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.mobile-portfolio-stat-label {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
  color: var(--mdr-text-dim);
  margin-top: 2px;
}

/* Quick actions */
.mobile-portfolio-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.mobile-portfolio-action-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 0;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--mdr-card-border);
  color: var(--mdr-text-soft);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
  cursor: pointer;
}

.mobile-portfolio-action-btn:hover,
.mobile-portfolio-action-btn:active {
  background: rgba(255,255,255,0.07);
  color: var(--mdr-text-primary);
  text-decoration: none;
}

.mobile-portfolio-action-btn i {
  font-size: 11px;
}

.mobile-portfolio-action-btn:disabled,
.mobile-portfolio-action-btn.disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* Refresh 40% / Settings 60% of the row.
   flex-basis 0 is what makes the grow factors an exact 4:6 split — with the
   default `auto` basis each child would first claim its own text width and the
   ratio would only apply to the leftover, which is why two `flex: 1` children
   rendered visibly unequal. The refresh child is a <form> when the action is
   available and a <button> otherwise, so both are targeted. */
.mobile-portfolio-actions > .mdr-action-refresh {
  flex: 4 1 0 !important;
  min-width: 0;
}

.mobile-portfolio-actions > .mdr-action-settings {
  flex: 6 1 0 !important;
  min-width: 0;
}

/* The form is only a layout wrapper; its button fills it */
.mobile-portfolio-actions > .mdr-action-form {
  display: flex;
}

.mobile-portfolio-actions > .mdr-action-form > .mobile-portfolio-action-btn {
  flex: 1 1 auto;
  width: 100%;
}


/* ==========================================================
   4. INSIGHT CARDS — horizontal scroll carousel (artifact style)
   ========================================================== */
.mobile-insights-section {
  padding: 24px 0 0;
}

.mobile-insights-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px 12px;
}

.mobile-insights-title {
  font-size: 18px;
  font-weight: 400;
  color: var(--mdr-text-primary);
  margin: 0;
}

.mobile-insights-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--mdr-brand-gold);
  text-decoration: none;
}

/* Horizontal scroll container */
.mobile-insights-scroll {
  display: flex;
  gap: 10px;
  padding: 0 20px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.mobile-insights-scroll::-webkit-scrollbar {
  display: none;
}

/* Individual insight card */
.mobile-insight-card {
  /* Trois de ces cartes sont devenues des <a> vers de vraies pages
     (/social-sentiment, /geopolitical, /opportunities) au lieu d'ouvrir un
     onglet en JavaScript. Sans ces deux lignes, le navigateur y appliquerait
     le bleu et le soulignement par défaut des liens. */
  color: inherit;
  text-decoration: none;
  flex: 0 0 220px;
  border-radius: 16px;
  padding: 18px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mdr-card-border);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s ease;
}

.mobile-insight-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to top, rgba(0,0,0,0.2), transparent);
  pointer-events: none;
  z-index: 0;
}

.mobile-insight-card:active {
  transform: scale(0.97);
}

/* Card variants — gradient backgrounds matching artifact */
.mobile-insight-card--sentiment {
  background: linear-gradient(135deg, #0c2d1a 0%, var(--mdr-card-surface) 100%);
  border-color: rgba(34, 197, 94, 0.12);
}

.mobile-insight-card--geo {
  background: linear-gradient(135deg, #2d1f0c 0%, var(--mdr-card-surface) 100%);
  border-color: rgba(204, 144, 60, 0.12);
}

.mobile-insight-card--opportunities {
  background: linear-gradient(135deg, #0c1a2d 0%, var(--mdr-card-surface) 100%);
  border-color: rgba(204, 144, 60, 0.12);
}


.mobile-insight-card--pizzacon,
.mobile-insight-card--calendar {
  background: linear-gradient(135deg, #2d1a0c 0%, var(--mdr-card-surface) 100%);
  border-color: rgba(204, 144, 60, 0.15);
}

/* Badge row — the geo card carries both its risk level and the DEFCON reading */
.mobile-insight-badges {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

/* Top row: icon + status badge */
.mobile-insight-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.mobile-insight-icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.mobile-insight-card--sentiment .mobile-insight-icon-wrap {
  background: rgba(34, 197, 94, 0.12);
  color: var(--mdr-signal-buy);
}

.mobile-insight-card--geo .mobile-insight-icon-wrap {
  background: rgba(204, 144, 60, 0.12);
  color: var(--mdr-signal-hold);
}

.mobile-insight-card--opportunities .mobile-insight-icon-wrap {
  background: rgba(204, 144, 60, 0.12);
  color: #e0bc8a;
}

.mobile-insight-card--pizzacon .mobile-insight-icon-wrap {
  background: var(--mdr-gold-glow);
  color: var(--mdr-brand-gold);
}

/* Status badge (top-right) */
.mobile-insight-status {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mobile-insight-status-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.mobile-insight-status--green {
  background: rgba(34, 197, 94, 0.12);
  color: var(--mdr-signal-buy);
}

.mobile-insight-status--amber {
  background: rgba(204, 144, 60, 0.10);
  color: var(--mdr-signal-hold);
}

.mobile-insight-status--indigo {
  background: rgba(204, 144, 60, 0.10);
  color: #e0bc8a;
}

.mobile-insight-status--gold {
  background: var(--mdr-gold-glow);
  color: var(--mdr-brand-gold);
}

.mobile-insight-status--red {
  background: rgba(239, 68, 68, 0.10);
  color: var(--mdr-signal-sell);
}

/* Body content */
.mobile-insight-body {
  margin-top: 14px;
  position: relative;
  z-index: 1;
}

.mobile-insight-big {
  font-size: 28px;
  font-weight: 600;
  color: var(--mdr-text-primary);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.mobile-insight-title {
  font-size: 14px;
  font-weight: 400;
  color: var(--mdr-text-primary);
  margin-top: 4px;
  line-height: 1.2;
}

.mobile-insight-desc {
  font-size: 11px;
  color: var(--mdr-text-soft);
  margin-top: 4px;
  line-height: 1.4;
}

/* Gauge bar with label */
.mobile-insight-gauge {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  position: relative;
  z-index: 1;
}

.mobile-insight-gauge-track {
  flex: 1;
  height: 4px;
  background: rgba(255,255,255,0.06);
  border-radius: 2px;
  overflow: hidden;
}

.mobile-insight-gauge-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.6s ease;
}

.mobile-insight-gauge-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--mdr-text-dim);
  flex-shrink: 0;
}

.mobile-insight-card--sentiment .mobile-insight-gauge-fill { background: var(--mdr-signal-buy); }
.mobile-insight-card--geo .mobile-insight-gauge-fill { background: var(--mdr-signal-hold); }
.mobile-insight-card--opportunities .mobile-insight-gauge-fill { background: #e0bc8a; }
.mobile-insight-card--pizzacon .mobile-insight-gauge-fill { background: var(--mdr-brand-gold); }


/* ==========================================================
   5. FULL-SCREEN TAB OVERLAY

   Strategy: the inline script MOVES the target .tab-pane out of
   #dashboardTabContent and into #mobileTabOverlay. Because the pane is no
   longer a descendant of #dashboardTabContent, none of the
   `#dashboardTabContent .tab-pane...` rules (dashboard.scss:4941-4953,
   application.css:13-18) apply any more — this container owns visibility
   outright, so there is no specificity fight and no inherited .fade opacity
   or fadeIn animation to fight. On close the pane is moved back to its exact
   original position via a placeholder node.
   ========================================================== */
.mobile-back-btn,
.mobile-tab-overlay {
  display: none;
}

@media (max-width: 767.98px) {
  .mobile-back-btn {
    position: fixed;
    /* Must clear the status bar / Dynamic Island. This is the overlay's ONLY
       exit — there is no swipe-down and no backdrop to tap — so a button drawn
       under the notch strands the user in the pane. */
    top: calc(12px + env(safe-area-inset-top, 0px));
    left: 12px;
    z-index: 1060;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    color: var(--mdr-text-primary);
    font-size: 15px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 16px rgba(0,0,0,0.5);
    -webkit-tap-highlight-color: transparent;
  }

  /* The button lives inside the overlay, so it inherits its shown/hidden state
     and sits in its stacking context — it can never be covered by the overlay. */
  .mobile-tab-overlay .mobile-back-btn {
    display: flex;
  }

  /* Variante « page » : Opportunités, Sentiment social et Géopolitique étaient
     des panneaux ouverts en plein écran ; ce sont des pages maintenant, sans
     overlay pour porter le bouton. Même dessin, affiché par lui-même.
     text-decoration: none parce que c'est un <a>, pas un <button>. */
  .mobile-page-back {
    display: flex;
    text-decoration: none;
  }

  /* Le bouton est en position fixed : sans cette réserve il recouvre le titre
     de la page. 44px de bouton + 12px de marge haute + 12px de respiration. */
  .has-mobile-back .dashboard-header,
  .has-mobile-back > .container > *:first-child {
    padding-top: calc(56px + env(safe-area-inset-top, 0px));
  }

  /* The overlay surface */
  body.mobile-tab-overlay-open .mobile-tab-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    background: var(--mdr-deep-space);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: calc(60px + env(safe-area-inset-top, 0px)) 16px 40px;
  }

  /* Force the hosted section visible whatever classes it carries. The script
     tags it .mdr-overlay-content, so this covers Bootstrap tab panes and plain
     sections alike (the events calendar is a plain div). .fade sets opacity:0
     and dashboard.scss animates .tab-pane — both neutralised here. */
  body.mobile-tab-overlay-open .mobile-tab-overlay > .mdr-overlay-content {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transform: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Gate pages and sections inside the overlay must not add their own top offset */
  body.mobile-tab-overlay-open .mobile-tab-overlay > .mdr-overlay-content > .premium-gate-page,
  body.mobile-tab-overlay-open .mobile-tab-overlay > .mdr-overlay-content > .opportunities-section,
  body.mobile-tab-overlay-open .mobile-tab-overlay > .mdr-overlay-content > .geopolitical-section {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* The sentiment section is reordered further down (Fear & Greed first), which
     needs it to be a flex container. It was in the `display: block !important`
     group above — a more specific selector than the reordering rule and carrying
     !important, so it won, the section never became flex, and every `order`
     below was silently inert. */
  body.mobile-tab-overlay-open .mobile-tab-overlay > .mdr-overlay-content > .social-sentiment-section {
    display: flex !important;
    flex-direction: column !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* The events calendar is a two-column desktop layout — stack it in the overlay */
  body.mobile-tab-overlay-open .mobile-tab-overlay .events-context-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  body.mobile-tab-overlay-open .mobile-tab-overlay .calendar-column,
  body.mobile-tab-overlay-open .mobile-tab-overlay .context-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* --- Overlay content polish -------------------------------------------
     The overlay is re-parented to <body>, so the panes no longer inherit the
     .dashboard-container mobile overrides (that is deliberate — those were
     hiding .section-header and .summary-card paragraphs outright). Restate
     the handful of things that actually matter on a narrow screen. */
  .mobile-tab-overlay .section-header {
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 14px;
  }

  .mobile-tab-overlay .section-header .section-title h2 {
    font-size: 20px;
    line-height: 1.2;
    color: var(--mdr-text-primary);
  }

  .mobile-tab-overlay .section-header .section-title h2 i {
    color: var(--mdr-brand-gold);
    margin-right: 8px;
  }

  .mobile-tab-overlay .section-header .section-title p {
    font-size: 12px;
    line-height: 1.45;
    color: var(--mdr-text-soft);
  }

  .mobile-tab-overlay .section-header .section-actions {
    margin-top: 8px;
  }

  /* Paragraphs are the substance of the social pane — keep them readable.
     This targeted `.summary-card .card-content p`, a class pair the social pane
     does not emit anywhere, so it never fired and the pane's prose stayed at
     the 10.4-12.8px the older ultra-compact block sets. Retargeted at the
     classes the pane actually renders. */
  .mobile-tab-overlay .sentiment-summary p,
  .mobile-tab-overlay .vix-analysis-text,
  .mobile-tab-overlay .stock-reason p,
  .mobile-tab-overlay .sector-reason,
  .mobile-tab-overlay .topic-body,
  .mobile-tab-overlay .commodity-insight,
  .mobile-tab-overlay .event-context {
    font-size: 15px;
    line-height: 1.6;
  }

  /* Wide content scrolls in its own box; the overlay never scrolls sideways */
  .mobile-tab-overlay table,
  .mobile-tab-overlay pre {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  .mobile-tab-overlay img,
  .mobile-tab-overlay svg {
    max-width: 100%;
  }

  /* --- Market Sentiment: lead with Fear & Greed + VIX ---------------------
     VIX lives inside .alerts-fgi-row, directly under the Fear & Greed gauge,
     so hoisting that row (and flipping its two columns) puts both blocks up
     top. Scoped to the overlay, so the desktop tab keeps its own order. */
  body.mobile-tab-overlay-open .mobile-tab-overlay .social-sentiment-section {
    display: flex;
    flex-direction: column;
  }

  /* Default everything to the back, then pull the two leaders forward.
     `> *` has no class, so the class-bearing rules below outrank it. */
  body.mobile-tab-overlay-open .mobile-tab-overlay .social-sentiment-section > * {
    order: 3;
  }

  body.mobile-tab-overlay-open .mobile-tab-overlay .social-sentiment-section > .section-header {
    order: 0;
  }

  body.mobile-tab-overlay-open .mobile-tab-overlay .social-sentiment-section > .alerts-fgi-row {
    order: 1;
  }

  /* Inside that row: Fear & Greed + VIX (2nd column) before Market Alerts (1st).
     Ordered by position rather than :has(), which needs iOS 15.4+. */
  body.mobile-tab-overlay-open .mobile-tab-overlay .alerts-fgi-row > div:nth-child(1) {
    order: 1;
  }

  body.mobile-tab-overlay-open .mobile-tab-overlay .alerts-fgi-row > div:nth-child(2) {
    order: 0;
  }

  /* Breathing room under the disclaimer so the last block is never flush
     against the bottom edge mid-scroll */
  .dashboard-container .signal-disclaimer,
  .mobile-tab-overlay .signal-disclaimer {
    padding-bottom: 200px;
  }

  /* Freeze the page behind the overlay */
  body.mobile-tab-overlay-open {
    overflow: hidden !important;
  }
}

/* Hide webview bottom nav when overlay is open */
body.mobile-tab-overlay-open .webview-bottom-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ==========================================================
   6. STOCKS SECTION MOBILE REFINEMENTS
   ========================================================== */
@media (max-width: 767.98px) {
  .dashboard-container .stocks-section {
    margin-top: 8px;
  }

  .dashboard-container .section-header.portfolio-header-row {
    padding: 8px 0;
  }

  .dashboard-container .basic-mode-cards .stock-table-body {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  /* Hide search bar on mobile, keep filter chips only */
  .table-filter-bar .filter-search {
    display: none !important;
  }

  /* The page-level filter bar is replaced by one bar per section, rendered
     under each title by _mobile_stock_cards.html.erb. Hidden below 768px only,
     so the 768–991px tablet range keeps its own bar. */
  .dashboard-container .table-filter-bar {
    display: none !important;
  }

  /* ---- Filter chips: artifact pill style ----
     The app tints each chip by signal (.chip-buy / .chip-sell / .chip-hold).
     The artifact keeps every inactive chip neutral and colours only the active
     one gold, so the per-signal tints are flattened here — on mobile only. */
  .mdr-filter-bar {
    display: flex;
    gap: 8px;
    padding: 0 20px 12px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .mdr-filter-bar::-webkit-scrollbar {
    display: none;
  }

  .mdr-filter-bar .filter-chip,
  .mdr-filter-bar .filter-chip.chip-buy,
  .mdr-filter-bar .filter-chip.chip-sell,
  .mdr-filter-bar .filter-chip.chip-hold {
    flex-shrink: 0;
    padding: 7px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--mdr-text-dim);
    background: transparent;
    border: 1px solid var(--mdr-card-border);
    width: auto;
    font-family: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .mdr-filter-bar .filter-chip.active,
  .mdr-filter-bar .filter-chip.chip-buy.active,
  .mdr-filter-bar .filter-chip.chip-sell.active,
  .mdr-filter-bar .filter-chip.chip-hold.active {
    color: var(--mdr-deep-space);
    background: var(--mdr-brand-gold);
    border-color: var(--mdr-brand-gold);
  }

  /* Tighter gap between the title and its chips */
  .mdr-stock-section-header {
    padding-bottom: 8px;
  }

  /* Hide watermark logos on mobile cards — must beat mobile_optimizations.css
     which uses .dashboard-container table.stocks-table td.stock-watermark-cell */
  .dashboard-container table.stocks-table td.stock-watermark-cell {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Events calendar + market context are reached through the "Calendar" insight
     card now, so drop them from the inline mobile flow. Scoped to
     .dashboard-container ON PURPOSE: the overlay is re-parented to <body>, so
     this cannot match the hosted copy. Do NOT rewrite this as
     `#dashboardEventsCalendar { display: none }` — an ID (0,1,0,0) outranks the
     overlay's show rule (0,0,3,1) and would blank the fullscreen view. */
  .dashboard-container .events-context-section {
    display: none !important;
  }
}


/* ==========================================================
   7. P&L HISTORY — trigger button + modal restyle

   The modal is hoisted to <body> by fixDashboardComponents(), so nothing here
   is scoped to .dashboard-container. Trade rows are styled at all widths
   because pnl_chart_controller.js now emits semantic .pnl-trade-* markup
   instead of inline styles.
   ========================================================== */

/* Small trigger, pushed to the right of the P&L figures */
.mobile-portfolio-history-btn {
  margin-left: auto;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid var(--mdr-card-border);
  background: rgba(255,255,255,0.04);
  color: var(--mdr-text-soft);
  font-size: 11px;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, color 0.15s ease;
}

.mobile-portfolio-history-btn:hover,
.mobile-portfolio-history-btn:active {
  background: var(--mdr-gold-glow);
  color: var(--mdr-brand-gold);
}

/* ---- Trade rows: two lines, identity above figures ---- */
.pnl-trade {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.05);
}

.pnl-trade + .pnl-trade {
  margin-top: 6px;
}

.pnl-trade.is-deleted {
  opacity: 0.45;
}

.pnl-trade-top,
.pnl-trade-bottom {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pnl-trade-side {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.4px;
  padding: 3px 6px;
  border-radius: 6px;
}

.pnl-trade-side.is-sell {
  background: rgba(239, 68, 68, 0.14);
  color: var(--mdr-signal-sell);
}

.pnl-trade-side.is-buy {
  background: rgba(34, 197, 94, 0.14);
  color: var(--mdr-signal-buy);
}

.pnl-trade-symbol {
  font-size: 13px;
  font-weight: 700;
  color: var(--mdr-text-primary);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pnl-trade-qty {
  font-size: 11px;
  color: var(--mdr-text-dim);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.pnl-trade-date {
  margin-left: auto;
  font-size: 11px;
  color: var(--mdr-text-dim);
  white-space: nowrap;
  flex-shrink: 0;
}

.pnl-trade-action {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  font-size: 11px;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.pnl-trade-action.is-remove { color: var(--mdr-signal-sell); }
.pnl-trade-action.is-restore { color: var(--mdr-signal-buy); }
.pnl-trade-action:active { background: rgba(255,255,255,0.06); }

.pnl-trade-price {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin: 0;
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--mdr-card-border);
}

.pnl-trade-price-label {
  font-size: 11px;
  color: var(--mdr-text-dim);
}

/* webview_hide_elements.css forces number inputs to 16px to stop iOS zooming
   on focus. That rule is worth keeping, so the field is sized for 16px text
   rather than fought with a smaller font. */
.pnl-trade .pnl-price-input {
  width: 80px;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--mdr-text-primary);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
  -moz-appearance: textfield;
}

.pnl-trade .pnl-price-input:focus {
  outline: none;
}

.pnl-trade .pnl-price-input::-webkit-outer-spin-button,
.pnl-trade .pnl-price-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pnl-trade-pnl {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.pnl-trade-pnl.is-positive { color: var(--mdr-signal-buy); }
.pnl-trade-pnl.is-negative { color: var(--mdr-signal-sell); }
.pnl-trade-pnl.is-empty { color: var(--mdr-text-dim); font-weight: 600; }


@media (max-width: 767.98px) {
  /* responsive_breakpoints.css:543 stretches EVERY .btn to width:100% below
     576px — that is what made the refresh and Reset P&L buttons span the whole
     dialog. Restore intrinsic sizing inside this modal only. */
  #pnlHistoryModal .btn {
    width: auto !important;
  }

  #pnlHistoryModal .modal-body {
    padding: 14px 14px 20px;
  }

  /* Metrics as a 2x2 tile grid instead of four cramped quarters */
  #pnlHistoryModal .portfolio-metrics .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0;
  }

  #pnlHistoryModal .portfolio-metrics .row > [class*="col-"] {
    width: auto;
    max-width: none;
    flex: none;
    padding: 10px 8px !important;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--mdr-card-border);
    border-radius: 10px;
  }

  #pnlHistoryModal .metric-label {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    color: var(--mdr-text-dim);
  }

  #pnlHistoryModal .metric-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--mdr-text-primary);
    font-variant-numeric: tabular-nums;
    margin-top: 2px;
  }

  /* Trade History header: title on one line, refresh as a compact icon */
  #pnlHistoryModal .pnl-trades-section h6 {
    font-size: 12px;
    white-space: nowrap;
  }

  #pnlHistoryModal .pnl-trades-section .btn {
    width: 32px !important;
    height: 32px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
  }

  /* Taller rows need more room than the inline max-height allows */
  #pnlHistoryModal .pnl-trades-list {
    max-height: 42vh !important;
  }
}


/* ==========================================================
   8. MOBILE STOCK CARDS — artifact "stock-card" block

   Mobile only: the desktop <table class="stocks-table"> is untouched. Rendered
   by dashboard/_mobile_stock_cards.html.erb, which is itself wrapped in
   .d-md-none, so none of this can reach desktop.

   Every class is mdr-prefixed on purpose: .stock-card, .stock-name,
   .stock-price and .stock-change already exist in dashboard.scss and
   webview_hide_elements.css for the table view. Reusing the artifact's bare
   names would collide with them.
   ========================================================== */

/* ---- Section headings: "Portfolio" then "Actions suivies" ---- */
.mdr-stock-sections {
  padding-bottom: 8px;
}

.mdr-stock-section + .mdr-stock-section {
  margin-top: 4px;
}

.mdr-stock-section-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 20px 20px 10px;
}

.mdr-stock-section-title {
  font-size: 18px;
  font-weight: 400;
  color: var(--mdr-text-primary);
}

.mdr-stock-section-count {
  font-size: 13px;
  font-weight: 600;
  color: var(--mdr-brand-gold);
}

/* Filtering — driven by table_sort_controller#filterCards so the search box and
   the signal chips (which sit above both views) also drive the cards. The
   existing .filter-hidden rule is scoped to table rows only
   (dashboard.scss:2064), hence these. */
.mdr-stock-card.filter-hidden,
.mdr-stock-section.filter-hidden {
  display: none !important;
}

/* ---- Card list ---- */
.mdr-stock-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 4px;
}

.mdr-stock-card {
  background: var(--mdr-card-surface);
  border: 1px solid var(--mdr-card-border);
  border-radius: 14px;
  padding: 16px;
  position: relative;
  overflow: hidden;
}

/* Signal tint — the gradient is deliberately faint so the semantic colour
   reads on the border, not as a coloured card */
.mdr-stock-card.is-buy {
  border-color: rgba(34, 197, 94, 0.15);
  background: linear-gradient(135deg, rgba(34,197,94,0.03), var(--mdr-card-surface));
}

.mdr-stock-card.is-sell {
  border-color: rgba(239, 68, 68, 0.15);
  background: linear-gradient(135deg, rgba(239,68,68,0.03), var(--mdr-card-surface));
}

.mdr-stock-card.is-hold {
  border-color: rgba(204, 144, 60, 0.12);
  background: linear-gradient(135deg, rgba(204, 144, 60,0.02), var(--mdr-card-surface));
}

/* wait keeps the plain surface — no signal, no tint */
.mdr-stock-card.is-wait {
  border-color: var(--mdr-card-border);
}

.mdr-stock-card.is-trim {
  border-color: rgba(251, 146, 60, 0.14);
  background: linear-gradient(135deg, rgba(251,146,60,0.03), var(--mdr-card-surface));
}

/* ---- Tier 1: always visible ---- */
.mdr-stock-tier1 {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
}

.mdr-stock-logo {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

/* The radius is repeated on the <img> itself, not just relied on through the
   parent's overflow:hidden — logos whose source image has an opaque white
   background were still rendering as rounded squares. */
.mdr-stock-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50% !important;
}

.mdr-stock-logo-fallback {
  font-size: 12px;
  font-weight: 700;
  color: var(--mdr-text-dim);
  letter-spacing: -0.5px;
}

.mdr-stock-info {
  flex: 1;
  min-width: 0;
}

.mdr-stock-ticker-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.mdr-stock-ticker {
  font-size: 15px;
  font-weight: 700;
  color: var(--mdr-text-primary);
  white-space: nowrap;
}

.mdr-stock-badge {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex-shrink: 0;
}

/* forecast_action_class returns buy | sell | hold | wait | trim
   (dashboard_helper.rb:108-117). buy/sell/hold keep their semantic colours;
   wait is deliberately neutral (it is the absence of a signal) and trim reads
   as a softened sell, which is what it means — reduce the position. */
.mdr-stock-badge.is-buy  { color: var(--mdr-signal-buy);  background: rgba(34,197,94,0.12); }
.mdr-stock-badge.is-sell { color: var(--mdr-signal-sell); background: rgba(239,68,68,0.12); }
.mdr-stock-badge.is-hold { color: var(--mdr-signal-hold); background: rgba(204, 144, 60,0.10); }
.mdr-stock-badge.is-wait { color: var(--mdr-text-soft);   background: rgba(255,255,255,0.07); }
.mdr-stock-badge.is-trim { color: #fb923c;                background: rgba(251,146,60,0.12); }

/* ---- Stale data: refresh control ----
   Shown in the EST. CLOSE cell when the stock's AI analysis is missing or its
   data needs refreshing — same predicates as the table.

   Shaped as a pill with a label, not a bare icon circle: every other chip in
   this dashboard (.mdr-stock-badge, .mdr-pnl-percent, .mdr-plan-count, the
   filter chips) is a labelled pill, and a lone circle read as a foreign blob.
   Amber because this is a "needs attention" state, not a signal — it must not
   borrow the buy/sell/hold semantics. */
.mdr-stock-refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 3px 8px;
  border: 0;
  border-radius: 6px;
  background: rgba(204, 144, 60, 0.12);
  color: var(--mdr-signal-hold);
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  cursor: pointer;
  width: auto;
  -webkit-tap-highlight-color: transparent;
}

.mdr-stock-refresh i {
  font-size: 9px;
}

.mdr-stock-refresh:active {
  background: rgba(204, 144, 60, 0.22);
}

/* Refresh already running — muted, and the label is dropped so the spinner
   alone carries the state */
.mdr-stock-refresh.is-loading {
  background: rgba(255,255,255,0.05);
  color: var(--mdr-text-soft);
  cursor: default;
  padding: 3px 9px;
}

.mdr-stock-refresh.is-disabled {
  opacity: 0.4;
  cursor: default;
}

.mdr-stock-name {
  font-size: 11px;
  color: var(--mdr-text-dim);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mdr-stock-spark {
  width: 48px;
  height: 20px;
  flex-shrink: 0;
}

/* micro-sparkline draws into a <canvas>, not an <svg> — constrain both so the
   controller's intrinsic canvas size cannot widen the row */
.mdr-stock-spark canvas,
.mdr-stock-spark svg {
  width: 100%;
  height: 100%;
  display: block;
}

.mdr-stock-price-col {
  text-align: right;
  flex-shrink: 0;
}

.mdr-stock-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--mdr-text-primary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.mdr-stock-change {
  font-size: 11px;
  font-weight: 600;
  margin-top: 1px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.mdr-stock-change.is-positive { color: var(--mdr-signal-buy); }
.mdr-stock-change.is-negative { color: var(--mdr-signal-sell); }

/* The card is opened by tapping .mdr-stock-tier1 — there is no bottom
   affordance. The old .mdr-stock-expand-hint block was removed with it. */
.mdr-stock-tier1 {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* ---- Tier 2: revealed on tap ----
   max-height collapse, not `grid-template-rows: 0fr`. The grid technique needs
   Chrome 107+ / Safari 17.4+; in this app's webview it silently failed, leaving
   tier 2 permanently expanded and its action bar spilling out between cards.
   This is the same pattern .mobile-portfolio-body already uses successfully. */
.mdr-stock-tier2 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  position: relative;
  z-index: 1;
}

.mdr-stock-card.is-open .mdr-stock-tier2 {
  max-height: 300px;
}

/* Separator lives on the inner block, so it is clipped away when collapsed
   and no gating on .is-open is needed */
.mdr-stock-tier2-inner {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--mdr-card-border);
}

.mdr-stock-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.mdr-meta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  min-width: 0;
  flex: 1;
}

.mdr-meta-label {
  font-size: 9px;
  font-weight: 600;
  color: var(--mdr-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  line-height: 1.2;
}

.mdr-meta-value {
  font-size: 13px;
  font-weight: 700;
  color: var(--mdr-text-primary);
  font-variant-numeric: tabular-nums;
  text-align: center;
  line-height: 1.2;
}

.mdr-meta-value.is-positive { color: var(--mdr-signal-buy); }
.mdr-meta-value.is-negative { color: var(--mdr-signal-sell); }
.mdr-meta-value.is-gold     { color: var(--mdr-brand-gold); }

/* Non-clickable placeholders (a dash, a pending hourglass) — the slot is kept
   so the four columns stay aligned. */
.mdr-meta-value.is-locked {
  color: var(--mdr-text-dim);
  font-size: 11px;
  font-weight: 600;
}

/* Premium gate — this one is a LINK to /pricing, so it needs a real tap target
   and must look tappable. Previously it inherited .is-locked, which set no size
   at all: the hit area was the 11px padlock glyph, effectively unhittable on a
   phone, which is why tapping it appeared to do nothing. */
.mdr-meta-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 44px;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--mdr-gold-glow);
  border: 1px solid rgba(204, 144, 60, 0.2);
  color: var(--mdr-brand-gold);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.mdr-meta-lock:hover,
.mdr-meta-lock:active {
  background: rgba(204, 144, 60, 0.25);
  color: var(--mdr-brand-gold-light);
  text-decoration: none;
}

.mdr-meta-lock i {
  font-size: 9px;
}

.mdr-confidence-bar {
  width: 40px;
  height: 3px;
  background: rgba(255,255,255,0.06);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 2px;
}

.mdr-confidence-fill {
  height: 100%;
  border-radius: 2px;
  background: var(--mdr-brand-gold);
}

.mdr-meta-event {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Round tinted badges — dashboard.scss:17016 defines the same palette but
   scopes it under .events-cell, which this card does not have. Colours are
   copied from there so mobile and the desktop table stay consistent. */
.mdr-meta-event .event-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex-shrink: 0;
}

.mdr-meta-event .event-icon i {
  font-size: 9px;
}

.mdr-meta-event .event-icon.dividend { background: rgba(255, 215, 0, 0.2);  color: #ffd700; }
.mdr-meta-event .event-icon.earnings { background: rgba(0, 180, 216, 0.2);  color: #00b4d8; }
.mdr-meta-event .event-icon.crisis   { background: rgba(255, 107, 107, 0.2); color: #ff6b6b; }
.mdr-meta-event .event-icon.warning  { background: rgba(224, 188, 138, 0.2); color: #e0bc8a; }
.mdr-meta-event .event-icon.others   { background: rgba(204, 144, 60, 0.2); color: #e0bc8a; }

/* ---- Action bar ---- */
.mdr-stock-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.mdr-action-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 0;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  /* responsive_breakpoints.css:543 stretches .btn to 100% under 576px; these are
     not .btn, but be explicit so nothing else can stretch them either */
  width: auto;
}

.mdr-action-btn i {
  font-size: 12px;
}

.mdr-action-btn.is-chart     { background: rgba(204, 144, 60,0.08);  color: #e0bc8a; }
.mdr-action-btn.is-ai        { background: var(--mdr-gold-glow);   color: var(--mdr-brand-gold-light); flex: 2; }
.mdr-action-btn.is-portfolio { background: rgba(204, 144, 60,0.08);  color: #cc903c; }

.mdr-action-btn:active {
  filter: brightness(1.25);
}

.mdr-action-btn:hover {
  text-decoration: none;
}

/* ---- "I bought / I sold" — same #stockTransactionModal contract as
        shared/_transaction_dropdown.html.erb ---- */
.mdr-stock-trade {
  display: none;
  gap: 8px;
  margin-top: 8px;
}

.mdr-stock-trade.is-open {
  display: flex;
}

.mdr-trade-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 0;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  font-family: inherit;
  border: 1px solid var(--mdr-card-border);
  background: rgba(255,255,255,0.04);
  cursor: pointer;
  width: auto;
  -webkit-tap-highlight-color: transparent;
}

.mdr-trade-btn i { font-size: 11px; }

.mdr-trade-btn.is-buy  { color: var(--mdr-signal-buy);  border-color: rgba(34,197,94,0.22); }
.mdr-trade-btn.is-sell { color: var(--mdr-signal-sell); border-color: rgba(239,68,68,0.22); }

.mdr-trade-btn:disabled {
  opacity: 0.35;
  pointer-events: none;
}

/* ---- Host for the chart / AI-analysis node borrowed from the table ----
   The node keeps its own .collapse + .chart-dropdown-card / .ai-analysis-card
   styling, so this only provides the seam and the width reset it needs now
   that it no longer sits in a <td colspan>. */
.mdr-stock-panel:empty {
  display: none;
}

.mdr-stock-panel.is-open {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--mdr-card-border);
}

/* The moved node sits one level deeper now: the script wraps it in a
   .chart-dropdown-row / .ai-analysis-row div so dashboard.scss's nested
   stylesheet re-attaches, hence the descendant selector rather than `>`. */
.mdr-stock-panel .collapse.show {
  display: block !important;
}

/* Those wrappers are <tr> replacements — strip any table display they inherit */
.mdr-stock-panel > .chart-dropdown-row,
.mdr-stock-panel > .ai-analysis-row {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Flatten the nested boxes. The card already provides the frame, but the
   borrowed content stacks three more on top of it — .chart-dropdown-card
   (dashboard.scss:9060), .historical-chart-section (:9081) and .chart-container
   (:9138) each carry their own background, border, radius AND padding. That is
   the "double padding" seen inside the panel; it was really triple.

   The two OUTER wrappers become transparent and unpadded; .chart-container is
   deliberately left alone — the chart needs its own ground to read against.

   Selectors include the row class the script adds, so they reach (0,0,3,0) and
   beat the breakpoint-scoped `.ai-analysis-row .ai-analysis-card
   { padding: .5rem !important }` (dashboard.scss:2494 / 3038). */
.mdr-stock-panel > .chart-dropdown-row .chart-dropdown-card,
.mdr-stock-panel > .chart-dropdown-row .historical-chart-section,
.mdr-stock-panel > .ai-analysis-row .ai-analysis-card,
.mdr-stock-panel .chart-dropdown-card,
.mdr-stock-panel .ai-analysis-card,
.mdr-stock-panel .historical-chart-section {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* The collapse wrapper itself must not add a gutter either */
.mdr-stock-panel .collapse {
  padding: 0 !important;
}

/* ---- TRADE PLAN inside a card ----
   Its desktop layout is a 5-column grid (action / entries / protection /
   sizing / expiration) which is unreadable at 390px. Scoped to
   .mdr-stock-panel so the desktop table keeps the grid untouched. */
.mdr-stock-panel .trade-plan-bloc {
  width: 100%;
  margin: 0;
}

.mdr-stock-panel .trade-plan-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.mdr-stock-panel .trade-plan-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--mdr-brand-gold);
}

.mdr-stock-panel .trade-plan-title i {
  font-size: 11px;
}

/* Level switch as a full-width segmented control */
.mdr-stock-panel .trade-plan-level-switch {
  display: flex;
  gap: 4px;
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--mdr-card-border);
  border-radius: 10px;
  padding: 3px;
}

.mdr-stock-panel .trade-plan-level-switch .level-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--mdr-text-dim);
  font-size: 10px;
  font-weight: 600;
  width: auto;
  cursor: pointer;
}

.mdr-stock-panel .trade-plan-level-switch .level-btn.active {
  background: var(--mdr-gold-glow);
  color: var(--mdr-brand-gold-light);
}

/* One column instead of five */
.mdr-stock-panel .trade-plan-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  grid-template-columns: none !important;
}

.mdr-stock-panel .trade-plan-col {
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px !important;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 10px;
}

.mdr-stock-panel .trade-plan-col-label {
  font-size: 9px !important;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--mdr-text-dim) !important;
  margin-bottom: 4px;
}

.mdr-stock-panel .trade-plan-footer,
.mdr-stock-panel .trade-plan-rationale {
  font-size: 11px;
  line-height: 1.5;
}

.mdr-stock-panel .trade-plan-levels-bar {
  flex-wrap: wrap;
  gap: 6px;
}

/* Wide inner content scrolls in its own box rather than widening the card */
.mdr-stock-panel table,
.mdr-stock-panel pre {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.mdr-stock-panel img,
.mdr-stock-panel canvas,
.mdr-stock-panel svg {
  max-width: 100%;
}


/* ==========================================================
   9. TRADING PLAN BUTTON (mobile) — .mdr-plan-btn

   Rendered by dashboard/_action_graph.html.erb as its own element. The desktop
   .action-graph-section is hidden below 768px rather than restyled: it carries
   a border, gradient, shadow and a gold ::before line for desktop
   (shared/_action_graph.scss:5-21), and overriding all of that with !important
   never matched the mobile card language. Tapping it opens the existing
   fullscreen plan modal, which already holds the "hide done" control.
   ========================================================== */
.mdr-plan-btn {
  display: none;
}

@media (max-width: 767.98px) {
  /* The section must NOT be display:none — it still holds .plan-chat, which is
     pinned to the screen while the fullscreen plan is open (section 10), and a
     child of a hidden parent can never be shown. Its body is already hidden by
     _action_graph.scss:486, so stripping the frame and the header is enough to
     make it invisible while keeping the chat reachable. */
  .dashboard-container .action-graph-section {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .dashboard-container .action-graph-section::before {
    display: none !important;
  }

  /* .mdr-plan-btn replaces this header on mobile */
  .dashboard-container .action-graph-header {
    display: none !important;
  }

  .mdr-plan-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: calc(100% - 8px);
    margin: 4px 8px 2px;
    padding: 13px 14px;
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  /* Same gold hairline as the portfolio card, so the two read as siblings */
  .mdr-plan-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--mdr-brand-gold), transparent);
    opacity: 0.3;
  }

  .mdr-plan-btn:active {
    background: rgba(255,255,255,0.03);
  }

  .mdr-plan-icon {
    flex-shrink: 0;
    color: var(--mdr-brand-gold);
    font-size: 13px;
    line-height: 1;
  }

  .mdr-plan-label {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 400;
    color: var(--mdr-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mdr-plan-count {
    flex-shrink: 0;
    padding: 2px 7px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    background: var(--mdr-gold-glow);
    color: var(--mdr-brand-gold);
    font-variant-numeric: tabular-nums;
  }

  .mdr-plan-chevron {
    flex-shrink: 0;
    font-size: 11px;
    color: var(--mdr-text-dim);
  }
}


/* ==========================================================
   10. PLAN CHAT pinned while the fullscreen plan is open (mobile)

   No JavaScript, no node moving: the chat stays exactly where Rails rendered
   it (inside .action-graph-section) so its Stimulus targets stay unique, and
   it is simply pinned to the screen whenever the plan modal is open.

   action_graph_controller#openFullscreen puts .fullscreen-modal-open on <body>
   (line 55) and removes it on close (line 76) — that is the state this hooks
   onto. position: fixed is safe here precisely BECAUSE the chat is outside
   .ag-fullscreen-modal: that element sets backdrop-filter, which would make it
   a containing block and, since it is also the scroller, would drop a fixed
   child at the bottom of the scrolled content instead of the screen.
   ========================================================== */
@media (max-width: 767.98px) {
  /* Beats `@media .action-graph-section .plan-chat { display: none }`
     (_action_graph.scss:487) on specificity: 3 classes + 1 element vs 2. */
  body.fullscreen-modal-open .action-graph-section .plan-chat {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    /* Lifted clear of the on-screen keyboard. This bar is position:fixed, so
       the app-wide scrollIntoView-on-focus helper cannot rescue it — a fixed
       box does not move when the document scrolls — and it sat squarely behind
       the keys. --app-kb is the px the keyboard covers, written on <html> by
       updateKeyboardInset() in chatbot_widget_controller.js; that controller is
       mounted by the layout on every page and starts tracking from connect(),
       so the variable is live here whether or not the chat panel is open. */
    bottom: var(--app-kb, 0px);
    /* the modal itself sits at 99999 */
    z-index: 100000;
    margin: 0;
    /* The home indicator is only exposed with no keyboard up; while the
       keyboard shows it covers that strip, so the inset would leave a dead gap
       between the bar and the key rows. max() cannot go negative. */
    padding: 10px 14px calc(10px + max(0px, env(safe-area-inset-bottom, 0px) - var(--app-kb, 0px)));
    background: rgba(0, 6, 21, 0.98);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  /* Room so the last plan card is never trapped under the bar, plus the
     keyboard when it is up. */
  body.fullscreen-modal-open .ag-fullscreen-body {
    padding-bottom: calc(104px + var(--app-kb, 0px)) !important;
  }

  body.fullscreen-modal-open .action-graph-section .plan-chat-input-row {
    display: flex;
    gap: 8px;
    align-items: center;
  }

  body.fullscreen-modal-open .action-graph-section .plan-chat-input {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--mdr-card-border);
    color: var(--mdr-text-primary);
  }

  body.fullscreen-modal-open .action-graph-section .plan-chat-submit {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 0;
    background: var(--mdr-gold-glow);
    color: var(--mdr-brand-gold);
    cursor: pointer;
  }

  body.fullscreen-modal-open .action-graph-section .plan-chat-submit:disabled {
    opacity: 0.4;
    pointer-events: none;
  }

  body.fullscreen-modal-open .action-graph-section .plan-chat-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 6px;
    font-size: 10px;
    color: var(--mdr-text-dim);
  }
}


/* ==========================================================
   11. EVENTS CALENDAR + MARKET CONTEXT (mobile)

   Two generations of mobile CSS fight at the same breakpoint in dashboard.scss:
   a sane one (cell 50px, dot 22px, day 0.7rem — L7093/7136/7151) and a later one
   that crushes it (cell 32px, day 0.5rem = 8px, dot 14px — L7596/7601/7605),
   which wins on source order. Below 374px it goes to 28px / 7.2px / 12px.
   This file loads last, so it settles the argument.

   The day CELL is now the interactive element (see
   events_calendar_controller.js#toggleDay), so it must meet the 44px touch
   floor; the dots became indicators and no longer need to be targets.
   ========================================================== */
@media (max-width: 767.98px) {
  /* ---- The two columns become cards, not tinted washes ---- */
  .events-context-section .calendar-column,
  .events-context-section .context-column {
    background: var(--mdr-card-surface) !important;
    border: 1px solid var(--mdr-card-border) !important;
    border-radius: 14px !important;
    padding: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    /* was overflow:hidden (dashboard.scss:7026/7046), which clipped the
       absolutely-positioned .calendar-tooltip against the column edge */
    overflow: visible !important;
  }

  /* ---- Section headers: the .section-header-mini class has no base rule in
     the codebase, only descendant-scoped ones, so it arrives unstyled here ---- */
  .events-context-section .section-header-mini {
    margin-bottom: 10px;
  }

  .events-context-section .section-header-mini h5 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--mdr-text-primary) !important;
  }

  .events-context-section .section-header-mini h5 i {
    font-size: 12px;
    color: var(--mdr-brand-gold) !important;
  }

  /* ---- Calendar grid ---- */
  .events-context-section .calendar-header {
    margin-bottom: 8px;
  }

  .events-context-section .calendar-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--mdr-text-soft) !important;
  }

  .events-context-section .calendar-day-header {
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--mdr-text-dim) !important;
    padding-bottom: 4px;
  }

  /* 44px floor: the cell is the tap target now */
  .events-context-section .calendar-cell,
  .events-context-section .calendar-grid .calendar-cell {
    min-height: 44px !important;
    padding: 4px 2px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,0.02) !important;
    -webkit-tap-highlight-color: transparent;
  }

  .events-context-section .calendar-cell.empty {
    background: none !important;
    min-height: 0 !important;
  }

  .events-context-section .calendar-cell.has-events {
    cursor: pointer;
    background: rgba(255,255,255,0.05) !important;
  }

  .events-context-section .calendar-cell.has-events:active {
    background: rgba(204, 144, 60,0.14) !important;
  }

  .events-context-section .calendar-cell.today {
    border: 1px solid rgba(204, 144, 60,0.45) !important;
    background: var(--mdr-gold-glow) !important;
  }

  .events-context-section .calendar-cell.past { opacity: 0.45; }
  .events-context-section .calendar-cell.weekend { opacity: 0.75; }

  /* 8px was unreadable; 11px is the floor that still fits seven columns */
  .events-context-section .day-number,
  .events-context-section .calendar-cell .day-number {
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    color: var(--mdr-text-soft) !important;
  }

  .events-context-section .calendar-cell.today .day-number {
    color: var(--mdr-brand-gold) !important;
    font-weight: 700 !important;
  }

  /* Indicators, not targets */
  .events-context-section .event-dot,
  .events-context-section .calendar-cell .event-dot {
    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;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .events-context-section .event-dot i { font-size: 8px !important; }

  .events-context-section .event-indicators {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin-top: 2px;
    pointer-events: none;
  }

  .events-context-section .event-more {
    font-size: 8px !important;
    padding: 1px 4px !important;
    border-radius: 5px !important;
    color: var(--mdr-text-dim) !important;
    background: rgba(255,255,255,0.08) !important;
  }

  /* ---- Popover ---- */
  .events-context-section .calendar-tooltip {
    z-index: 20;
    max-width: min(280px, calc(100vw - 60px)) !important;
    padding: 12px !important;
    border-radius: 12px !important;
    background: var(--mdr-card-surface) !important;
    border: 1px solid var(--mdr-card-border) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,0.55) !important;
  }

  .events-context-section .tooltip-day .tooltip-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
  }

  .events-context-section .tooltip-day .tooltip-row:first-child { margin-top: 0; }

  .events-context-section .tooltip-symbol {
    font-size: 12px;
    font-weight: 700;
    color: var(--mdr-text-primary);
  }

  .events-context-section .tooltip-text {
    font-size: 11px;
    line-height: 1.45;
    color: var(--mdr-text-soft);
    margin-top: 2px;
  }

  .events-context-section .tooltip-type {
    font-size: 9px !important;
    font-weight: 700;
    padding: 2px 6px !important;
    border-radius: 5px !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
  }

  /* Earnings was rgba(34,197,94,.2)/#22c55e — that is the BUY green, which must
     stay reserved for signals. Cyan matches the earnings badge already used on
     the mobile stock cards. */
  .events-context-section .tooltip-type.type-earnings,
  .events-context-section .tooltip-type.type-revenue {
    background: rgba(0, 180, 216, 0.18) !important;
    color: #00b4d8 !important;
  }

  .events-context-section .tooltip-type.type-dividend {
    background: rgba(255, 215, 0, 0.18) !important;
    color: #ffd700 !important;
  }

  .events-context-section .tooltip-type.type-crisis,
  .events-context-section .tooltip-type.type-warning {
    background: rgba(224, 188, 138, 0.18) !important;
    color: #e0bc8a !important;
  }

  /* ---- Legend ---- */
  .events-context-section .calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--mdr-card-border);
  }

  .events-context-section .legend-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }

  .events-context-section .legend-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
  }

  .events-context-section .legend-icon.dividend { background: rgba(255,215,0,0.18);  color: #ffd700; }
  .events-context-section .legend-icon.earnings { background: rgba(0,180,216,0.18);  color: #00b4d8; }
  .events-context-section .legend-icon.crisis   { background: rgba(224, 188, 138,0.18); color: #e0bc8a; }
  .events-context-section .legend-icon.other    { background: rgba(204, 144, 60,0.18); color: #e0bc8a; }

  .events-context-section .legend-label {
    font-size: 10px;
    color: var(--mdr-text-dim);
  }

  /* ---- Market context list ---- */
  .events-context-section .context-item {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    border-top: 1px solid var(--mdr-card-border);
  }

  .events-context-section .context-item:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .events-context-section .context-emoji { font-size: 16px; flex-shrink: 0; }

  .events-context-section .context-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }

  .events-context-section .context-category {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--mdr-brand-gold);
  }

  .events-context-section .context-text {
    font-size: 12px;
    line-height: 1.5;
    color: var(--mdr-text-soft);
  }

  /* ---- Upcoming (events with no parseable date) ---- */
  .events-context-section .upcoming-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--mdr-text-dim);
    margin-bottom: 6px;
  }

  .events-context-section .upcoming-item {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    padding: 7px 0;
    border-top: 1px solid var(--mdr-card-border);
  }

  .events-context-section .upcoming-symbol {
    font-size: 11px;
    font-weight: 700;
    color: var(--mdr-text-primary);
  }

  /* base rule sets nowrap + ellipsis, which truncates these to one word here */
  .events-context-section .upcoming-text {
    flex: 1 1 100%;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: 11px;
    line-height: 1.45;
    color: var(--mdr-text-soft);
  }

  .events-context-section .no-context-message {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--mdr-text-dim);
  }
}


/* ==========================================================
   12. OPPORTUNITIES (mobile)

   The opportunity card predates the redesign: it carries its own
   surface colour, its own tap targets and its own type scale. This
   section pulls it onto the `mdr-` card language and fixes the three
   things that actually hurt on a phone:

     - three 30px icon buttons crammed into the top bar next to the
       badge and the hero number. They now get their own full-width
       row and share it equally, so each one is ~110x40 instead of
       30x30 with a 5px gap between misses.
     - the rationale — the only prose on the card — was 13.3px.
     - the "Analyse" tag is a link to another page dressed as a
       decorative tag, with no tap height of its own.

   The semantic colours (BUY green / SELL red / HOLD amber) are fixed
   in dashboard.scss instead, because they were wrong on desktop too.
   ========================================================== */
@media (max-width: 767px) {

  .opportunities-section .opportunities-grid {
    gap: 14px;
  }

  /* ——— Card surface: match the redesigned dashboard cards ——— */
  .opportunities-section .opportunity-card {
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-radius: 14px;
    /* The card frames its own sections; any padding here double-pads
       against the 13px each inner section already has. */
    padding: 0;
    margin-bottom: 0;
  }

  /* The left accent border is the signal colour — keep it, but the
     1px border above would otherwise overwrite it on the left edge. */
  .opportunities-section .opportunity-card.rec-buy  { border-left-width: 3px; }
  .opportunities-section .opportunity-card.rec-sell { border-left-width: 3px; }
  .opportunities-section .opportunity-card.rec-hold { border-left-width: 3px; }

  /* No lift-on-hover on a touch screen — it only ever fires as a
     sticky :hover left behind after a tap. */
  .opportunities-section .opportunity-card:hover {
    transform: none;
    box-shadow: none;
  }

  /* ——— Top bar: badge + return, actions on their own row ——— */
  .opportunities-section .opp-card-top {
    flex-wrap: wrap;
    row-gap: 10px;
    padding: 12px 13px 10px;
  }

  .opportunities-section .opp-return-hero {
    font-size: 1.2rem;
    font-weight: 600;
  }

  .opportunities-section .opp-card-index {
    font-size: 10px;
  }

  .opportunities-section .opp-card-actions {
    flex: 1 0 100%;
    margin-left: 0;
    gap: 8px;
  }

  /* 40px tall, and each button takes a third of the card width. */
  .opportunities-section .opp-action-btn,
  .opportunities-section .opp-action-done {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 40px;
    border-radius: 10px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .opportunities-section .opp-action-done {
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.28);
    color: var(--mdr-signal-buy);
  }

  /* Tap feedback instead of the desktop scale-on-hover. */
  .opportunities-section .opp-action-btn:hover {
    transform: none;
    box-shadow: none;
  }
  .opportunities-section .opp-action-btn:active {
    transform: scale(0.96);
  }

  /* ——— Identity + tags ——— */
  .opportunities-section .opp-card-identity {
    padding: 11px 13px;
    row-gap: 10px;
  }

  .opportunities-section .opp-symbol {
    font-size: 1.05rem;
    font-weight: 600;
  }

  .opportunities-section .opp-name {
    font-size: 0.8rem;
    font-weight: 400;
    max-width: 160px;
  }

  .opportunities-section .opp-tags {
    justify-content: flex-start;
    gap: 6px;
  }

  .opportunities-section .opp-tag {
    min-height: 28px;
    padding: 5px 10px;
    font-weight: 600;
  }

  /* This one navigates away — give it a real tap target and let it
     read as the action it is, not as a third metadata chip. */
  .opportunities-section .opp-tag-analysis {
    min-height: 34px;
    padding: 7px 16px 7px 12px;
    font-size: 0.72rem;
  }

  .opportunities-section .opp-tag-analysis .opp-tag-analysis-arrow {
    top: 4px;
    right: 5px;
  }

  /* ——— Metrics ——— */
  .opportunities-section .opp-metrics-row {
    padding: 12px 13px;
    column-gap: 10px;
    row-gap: 12px;
  }

  /* Decorative separators; at this width they only steal space the
     numbers need. The arrow stays — it carries the current→target
     reading that is the point of the row. */
  .opportunities-section .opp-metric-divider {
    display: none;
  }

  .opportunities-section .opp-metric {
    flex: 1 1 0;
    min-width: 78px;
  }

  .opportunities-section .opp-metric-arrow,
  .opportunities-section .opp-metric-confidence {
    flex: 0 0 auto;
    min-width: 0;
  }

  .opportunities-section .opp-metric-label {
    font-size: 0.62rem;
    font-weight: 400;
  }

  .opportunities-section .opp-metric-value {
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  /* ——— Rationale: the only prose on the card ——— */
  .opportunities-section .opp-rationale {
    padding: 12px 13px 14px;
  }

  .opportunities-section .opp-rationale-header span {
    font-weight: 400;
  }

  .opportunities-section .opp-rationale-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
  }

  /* ——— Header ——— */
  .opportunities-section .opp-title {
    font-size: 1.15rem;
    font-weight: 400;
  }

  .opportunities-section .opp-subtitle {
    font-size: 0.8rem;
    font-weight: 300;
  }

  .opportunities-section .opp-header-actions {
    gap: 8px;
  }

  .opportunities-section .btn-opp-generate,
  .opportunities-section .btn-opp-configure {
    min-height: 44px;
    flex: 1 1 0;
    justify-content: center;
    white-space: nowrap;
  }

  /* ——— Filters ——— */
  .opportunities-section .btn-opp-filter-toggle {
    min-height: 44px;
    padding: 0.5rem 0.9rem;
  }

  .opportunities-section .opp-filter-dropdown {
    padding: 0.85rem;
  }

  /* A checkbox label is the tap target — 4px of padding made it a
     ~24px strip that mostly misses. */
  .opportunities-section .opp-filter-checkbox {
    min-height: 40px;
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
  }

  .opportunities-section .opp-filter-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }

  /* ——— Track record ——— */
  .opportunities-section .opp-track-record {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  .opportunities-section .opp-tr-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .opportunities-section .opp-tr-label {
    font-weight: 400;
  }

  /* ——— Disclaimer ——— */
  .opportunities-section .opp-disclaimer {
    font-size: 0.72rem;
    line-height: 1.45;
  }
}

/* The "Analyse" tag pulses forever. Honour the OS setting — this runs
   on every card in the grid, on a device with a battery. */
@media (prefers-reduced-motion: reduce) {
  .opportunities-section .opp-tag-analysis {
    animation: none;
  }
}


/* ==========================================================
   13. GEOPOLITICAL (mobile)

   geopolitical.scss carries five overlapping mobile blocks written across
   three generations (767px twice, 768px three times — the mixed boundary
   means a 768px-wide device matches one set and not the other), and 97
   declarations under 12.8px. The crisis sidebar — the densest prose on the
   page — runs 9.6-12px.

   This section does not try to win a specificity war inside that file. It
   loads last, so it restates the handful of things that decide whether the
   page is readable and operable on a phone, in the mdr card language.
   ========================================================== */
@media (max-width: 767px) {

  /* ——— Section header ——— */
  .geopolitical-section .section-title h2 {
    font-size: 1.15rem;
    font-weight: 400;
  }

  .geopolitical-section .section-title p {
    font-size: 0.8rem;
    font-weight: 300;
  }

  /* ——— Card surfaces: one language across the page ——— */
  .geopolitical-section .pizza-compact-card,
  .geopolitical-section .threat-overview-card,
  .geopolitical-section .geo-map-card,
  .geopolitical-section .market-intel-card,
  .geopolitical-section .polymarket-card {
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-radius: 14px;
  }

  /* The severity bar is the one border that carries meaning — keep it. */
  .geopolitical-section .crisis-card-compact {
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-left-width: 3px;
    border-radius: 12px;
    padding: 12px 13px;
  }

  /* ——— Crisis sidebar: the densest prose on the page ——— */
  .geopolitical-section .crisis-compact-title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
  }

  .geopolitical-section .crisis-compact-desc {
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(248, 250, 252, 0.7);
  }

  .geopolitical-section .crisis-severity-badge {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 6px;
  }

  .geopolitical-section .region-tag {
    font-size: 0.72rem;
    padding: 3px 8px;
    border-radius: 6px;
  }

  .geopolitical-section .crises-sidebar-header h5 {
    font-size: 0.95rem;
    font-weight: 400;
  }

  .geopolitical-section .no-crisis-compact p {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  /* ——— Pizza index ——— */
  .geopolitical-section .pizza-title h5 {
    font-size: 0.95rem;
    font-weight: 400;
  }

  .geopolitical-section .pizza-subtitle {
    font-size: 0.76rem;
    font-weight: 300;
  }

  .geopolitical-section .gauge-text,
  .geopolitical-section .pizzacon-number {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .geopolitical-section .pizza-compact-status {
    font-size: 0.85rem;
  }

  .geopolitical-section .pizza-note {
    font-size: 0.85rem;
    line-height: 1.55;
  }

  /* ——— Global risk ——— */
  .geopolitical-section .threat-header h4 {
    font-size: 1rem;
    font-weight: 400;
  }

  .geopolitical-section .threat-score-badge {
    font-size: 0.76rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    padding: 4px 10px;
    border-radius: 8px;
  }

  .geopolitical-section .threat-summary {
    font-size: 0.93rem;
    line-height: 1.6;
  }

  .geopolitical-section .last-update {
    font-size: 0.76rem;
  }

  /* ——— Map ——— */
  .geopolitical-section .geo-map-header h5 {
    font-size: 0.95rem;
    font-weight: 400;
  }

  /* A 350px iframe swallowing every vertical drag is most of the page's
     "can't scroll past it" feel. Shorter, and gated by the touch guard. */
  .geopolitical-section .osiris-iframe {
    height: 260px;
  }

  .geopolitical-section .osiris-map-wrapper {
    min-height: 260px;
  }

  .geopolitical-section .osiris-touch-guard {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: rgba(0, 6, 21, 0.35);
    cursor: pointer;
    transition: opacity 0.18s ease;
  }

  .geopolitical-section .osiris-touch-guard.is-dismissed {
    opacity: 0;
    pointer-events: none;
  }

  .geopolitical-section .osiris-touch-guard-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: var(--mdr-text-primary);
    font-size: 0.82rem;
    font-weight: 400;
  }

  .geopolitical-section .osiris-touch-guard-pill i {
    font-size: 12px;
    color: var(--mdr-brand-gold);
  }

  /* 32px icon-only, labelled only by a hover `title`. */
  .geopolitical-section .osiris-btn {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    font-size: 15px;
  }

  .geopolitical-section .osiris-overlay-controls {
    gap: 8px;
    z-index: 9;
  }

  .geopolitical-section .geo-map-legend .legend-item {
    font-size: 0.76rem;
  }

  /* ——— Market intelligence / sectors / commodities ——— */
  .geopolitical-section .market-intel-card h5,
  .geopolitical-section .market-intel-card h6,
  .geopolitical-section .polymarket-card h5 {
    font-size: 0.92rem;
    font-weight: 400;
  }

  .geopolitical-section .intel-text,
  .geopolitical-section .sector-reason,
  .geopolitical-section .currency-reason,
  .geopolitical-section .polymarket-topic {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .geopolitical-section .commodity-price,
  .geopolitical-section .currency-pair,
  .geopolitical-section .polymarket-prob,
  .geopolitical-section .sector-upside {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .geopolitical-section .commodity-item,
  .geopolitical-section .currency-item,
  .geopolitical-section .sector-item,
  .geopolitical-section .polymarket-item {
    padding: 11px 12px;
    border-radius: 10px;
    font-size: 0.88rem;
  }

  /* ——— Layout: stack the desktop split columns ——— */
  .geopolitical-section .pizza-risk-row,
  .geopolitical-section .crises-map-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .geopolitical-section .map-column,
  .geopolitical-section .crises-column {
    width: 100%;
    max-width: 100%;
  }
}

/* The crisis card lift is a pointer affordance; on touch it latches after a
   tap and reads as a selected state that means nothing. */
@media (hover: none) {
  .geopolitical-section .crisis-card-compact:hover,
  .geopolitical-section .pizza-compact-card:hover,
  .geopolitical-section .polymarket-item:hover {
    transform: none;
    box-shadow: none;
  }
}


/* ==========================================================
   14. SOCIAL SENTIMENT (mobile)

   Four overlapping !important breakpoint blocks in dashboard.scss govern this
   pane (≤1024, ≤576, 768-1024, ≤767). Because they are scoped to a top-level
   `.social-sentiment-section` — not to `.dashboard-container` — they follow the
   pane into the fullscreen overlay and beat the newer rules there.

   Their combined effect is a pane where labels sit at 8.8px and prose at
   10.4-12.8px. This section restates the type scale and the card language.
   ========================================================== */
@media (max-width: 767px) {

  /* ——— Header ——— */
  .social-sentiment-section .section-title h2 {
    font-size: 1.15rem;
    font-weight: 400;
  }

  .social-sentiment-section .section-title p {
    font-size: 0.8rem;
    font-weight: 300;
  }

  /* ——— Fear & Greed ——— */
  .social-sentiment-section .fear-greed-section-compact,
  .social-sentiment-section .vix-analysis-card {
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-radius: 14px;
  }

  .social-sentiment-section .fgi-section-header h4 {
    font-size: 1rem !important;
    font-weight: 400 !important;
  }

  .social-sentiment-section .fgi-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .social-sentiment-section .fgi-history-period {
    font-size: 0.8rem !important;
  }

  .social-sentiment-section .fgi-history-label {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
  }

  .social-sentiment-section .fgi-history-value {
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums;
  }

  /* ——— VIX ——— */
  .social-sentiment-section .vix-number {
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums;
  }

  .social-sentiment-section .vix-label {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
  }

  /* ——— Sector analysis ——— */
  .social-sentiment-section .sector-column-title {
    font-size: 0.92rem !important;
    font-weight: 400 !important;
  }

  .social-sentiment-section .sector-item {
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-radius: 12px;
    padding: 12px 13px !important;
  }

  .social-sentiment-section .sector-name {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
  }

  .social-sentiment-section .sector-change {
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums;
  }

  /* Stock chips carried Bootstrap's .bg-success, which theme_variables.scss
     globally repaints brand gold — so a positive stock read as an accent, not
     as positive. They now carry their own semantic classes. */
  .social-sentiment-section .stock-badge {
    font-size: 0.75rem !important;
    font-weight: 600;
    padding: 4px 9px !important;
    border-radius: 6px;
  }

  .social-sentiment-section .stock-badge-up {
    background: rgba(34, 197, 94, 0.16);
    color: var(--mdr-signal-buy);
    border: 1px solid rgba(34, 197, 94, 0.32);
  }

  .social-sentiment-section .stock-badge-down {
    background: rgba(239, 68, 68, 0.16);
    color: var(--mdr-signal-sell);
    border: 1px solid rgba(239, 68, 68, 0.32);
  }

  /* ——— Topic / trending / commodity / event cards ——— */
  .social-sentiment-section .topic-card,
  .social-sentiment-section .trending-stock-card,
  .social-sentiment-section .commodity-card,
  .social-sentiment-section .event-card {
    background: var(--mdr-card-surface) !important;
    border: 1px solid var(--mdr-card-border) !important;
    border-radius: 14px !important;
    padding: 14px !important;
  }

  .social-sentiment-section .topic-header h5,
  .social-sentiment-section .event-header h5 {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.35;
  }

  .social-sentiment-section .stock-symbol strong,
  .social-sentiment-section .commodity-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
  }

  .social-sentiment-section .commodity-price,
  .social-sentiment-section .stock-mentions span {
    font-variant-numeric: tabular-nums;
  }

  .social-sentiment-section .stock-mentions {
    font-size: 0.8rem !important;
  }

  /* ——— Grids stack ——— */
  .social-sentiment-section .sector-analysis-grid,
  .social-sentiment-section .topics-grid,
  .social-sentiment-section .trending-stocks-grid,
  .social-sentiment-section .commodities-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* ——— Section headings ——— */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 1rem !important;
    font-weight: 400 !important;
  }

  /* ——— Alerts: were clamped at 300px with overflow hidden and no scroll ——— */
  .social-sentiment-section .alert-accordion-body.expanded {
    max-height: none !important;
    overflow: visible !important;
  }

  .social-sentiment-section .alert-message,
  .social-sentiment-section .alert-trigger,
  .social-sentiment-section .alert-action {
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
  }

  /* "Read more" is the only affordance for 4-line-clamped AI text, and it was
     a 10.4px word with no padding. */
  .social-sentiment-section .read-more-link,
  .social-sentiment-section .read-more-trigger {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 6px 2px;
    font-size: 0.88rem !important;
  }
}

/* Card lift is a pointer affordance; on touch it latches after a tap. */
@media (hover: none) {
  .social-sentiment-section .topic-card:hover,
  .social-sentiment-section .trending-stock-card:hover,
  .social-sentiment-section .commodity-card:hover,
  .social-sentiment-section .event-card:hover {
    transform: none;
    box-shadow: none;
  }
}


/* ==========================================================
   15. SECTION HEADERS — undo the marketing-stylesheet leak
   ========================================================== */
/* `pages_v2.scss:98` and `landing_v2.scss:857` each declare a GLOBAL,
   unscoped `.section-header { text-align: center }`. Both are bundled into
   all.css ahead of dashboard.scss, and dashboard.scss's own `.section-header`
   never declares `text-align` — so the centering survives and every section
   header in the product is centred, on desktop as well as mobile. That is why
   these panes open with a centred title and a centred two-line subtitle while
   the dashboard beside them is entirely left-aligned.

   Scoped to the dashboard's own sections so the landing pages keep theirs.
   Not inside a media query: the leak is not mobile-specific. */
.dashboard-container .section-header,
.mobile-tab-overlay .section-header,
.social-sentiment-section .section-header,
.geopolitical-section .section-header,
.opportunities-section .section-header {
  text-align: left;
  justify-content: flex-start;
}

/* Match the dashboard's own title treatment: light weight, no decorative
   icon, generous but not shouty. The legacy mobile block sets these with
   !important, so these have to as well. */
.social-sentiment-section .section-header .section-title h2,
.geopolitical-section .section-header .section-title h2 {
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}

.social-sentiment-section .section-header .section-title p,
.geopolitical-section .section-header .section-title p {
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.45 !important;
  color: var(--mdr-text-soft) !important;
}

/* Sub-section headings ("VIX Analysis", "Key Topics", …) — the dashboard's
   own section titles are 18px/400 and carry no icon. */
.social-sentiment-section .sentiment-section h4,
.social-sentiment-section .sentiment-summary h4,
.geopolitical-section .market-intel-card > h5,
.geopolitical-section .polymarket-card > h5 {
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  color: var(--mdr-text-primary);
  margin-bottom: 12px !important;
}


/* Vertical rhythm. The dashboard reads calm largely because its blocks are
   24px apart and its cards are 16-18px inside; these panes ran everything at
   Bootstrap's default margins with sub-rem paddings on top. */
.social-sentiment-section .sentiment-section,
.social-sentiment-section .sentiment-summary,
.social-sentiment-section .alerts-fgi-row {
  margin-bottom: 24px;
}

.social-sentiment-section .section-header,
.geopolitical-section .section-header {
  margin-bottom: 20px;
  padding: 0;
}

.geopolitical-section .pizza-risk-row,
.geopolitical-section .crises-map-layout,
.geopolitical-section .market-intel-card,
.geopolitical-section .polymarket-card {
  margin-bottom: 20px;
}

/* One radius and one inner padding across both panes, so cards stop
   announcing which generation of the stylesheet drew them (6 / 8 / 12 / 16px
   were all in play). */
.social-sentiment-section .topic-card,
.social-sentiment-section .trending-stock-card,
.social-sentiment-section .commodity-card,
.social-sentiment-section .event-card,
.social-sentiment-section .market-overview-strip,
.geopolitical-section .pizza-compact-card,
.geopolitical-section .threat-overview-card,
.geopolitical-section .market-intel-card,
.geopolitical-section .polymarket-card,
.geopolitical-section .geo-map-card {
  border-radius: 16px;
}


/* ==========================================================
   16. ALERT ACCORDION CHEVRON + COLOUR
   ========================================================== */
/* The chevron is the only signal that an alert opens. It was a 28px grey
   glyph on a transparent ground and easy to miss entirely. */
.social-sentiment-section .alert-expand-btn {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--mdr-text-primary);
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.18s ease, transform 0.18s ease;
}

.social-sentiment-section .alert-expand-btn:active {
  transform: scale(0.92);
}

.social-sentiment-section .alert-accordion-header {
  cursor: pointer;
  gap: 10px;
  align-items: center;
}

/* A collapsed alert is a headline; make the whole header read as tappable. */
.social-sentiment-section .market-alert-accordion .alert-accordion-body.collapsed {
  display: none;
}

.social-sentiment-section .market-alert-accordion .alert-accordion-body.expanded {
  display: block;
}

/* ——— Colour ———
   Neutralising the red wall left the page flat. The dashboard is not
   colourless: its insight cards each carry a faint tinted gradient in their
   own hue over the shared surface. Same device here, so each block is
   identifiable at a glance without any of them shouting. */
.social-sentiment-section .fear-greed-section-compact {
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(34, 197, 94, 0.07), transparent 62%),
    var(--mdr-card-surface);
}

.social-sentiment-section .vix-analysis-card {
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(96, 165, 250, 0.07), transparent 62%),
    var(--mdr-card-surface);
}

.social-sentiment-section .market-overview-strip {
  background:
    linear-gradient(135deg, rgba(204, 144, 60, 0.06), transparent 55%),
    var(--mdr-card-surface);
}

.social-sentiment-section .market-alert-accordion.alert-danger {
  background:
    linear-gradient(135deg, rgba(239, 68, 68, 0.07), transparent 48%),
    var(--mdr-card-surface);
}

.social-sentiment-section .market-alert-accordion.alert-warning {
  background:
    linear-gradient(135deg, rgba(204, 144, 60, 0.07), transparent 48%),
    var(--mdr-card-surface);
}

.social-sentiment-section .market-alert-accordion.alert-bullish {
  background:
    linear-gradient(135deg, rgba(34, 197, 94, 0.07), transparent 48%),
    var(--mdr-card-surface);
}

/* Sector columns read as two opposed groups, so let the heading carry it. */
.social-sentiment-section .sector-column.outperforming .sector-column-title {
  color: var(--mdr-signal-buy) !important;
}

.social-sentiment-section .sector-column.underperforming .sector-column-title {
  color: var(--mdr-signal-sell) !important;
}

.social-sentiment-section .sector-item.sector-up {
  border-left: 2px solid rgba(34, 197, 94, 0.45);
}

.social-sentiment-section .sector-item.sector-down {
  border-left: 2px solid rgba(239, 68, 68, 0.45);
}

/* On a phone the three overview items stack into a single column of rows,
   so the dividers run horizontally instead. */
@media (max-width: 575px) {
  .social-sentiment-section .market-overview-strip {
    flex-direction: column;
    padding: 0;
  }

  .social-sentiment-section .market-overview-strip .mo-item + .mo-item {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }

  .social-sentiment-section .market-overview-strip .mo-item {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
  }

  .social-sentiment-section .market-overview-strip .mo-sub {
    display: none;
  }
}


/* ==========================================================
   17. GEOPOLITICAL — threat meta, collapse, colour
   ========================================================== */

/* ——— Threat meta line ———
   Threat level and trend, sitting under the Global Risk heading. They briefly
   had a full-width strip to themselves, which spent an entire band of the page
   on two readings. */
.geopolitical-section .threat-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: -2px 0 12px;
}

.geopolitical-section .threat-meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.geopolitical-section .threat-meta-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--mdr-text-dim);
  white-space: nowrap;
}

.geopolitical-section .threat-meta-value {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.geopolitical-section .threat-meta-score {
  font-size: 11px;
  font-weight: 600;
  color: var(--mdr-text-dim);
  font-variant-numeric: tabular-nums;
}

.geopolitical-section .threat-meta-arrow {
  font-size: 14px;
}

.geopolitical-section .threat-meta-sep {
  width: 1px;
  align-self: stretch;
  min-height: 20px;
  background: var(--mdr-card-border);
}

/* ——— Collapsible cards ———
   Only the header survives when collapsed; nothing in the card had to be
   wrapped in an extra element to make that work. */
.geopolitical-section .geo-collapse-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  margin: 0;
}

.geopolitical-section .geo-collapse-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

.geopolitical-section .geo-collapse-chevron {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--mdr-text-primary);
  font-size: 12px;
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.geopolitical-section .geo-collapsible.is-collapsed > *:not(.geo-collapse-header) {
  display: none !important;
}

.geopolitical-section .geo-collapsible.is-collapsed .geo-collapse-chevron {
  transform: rotate(-90deg);
}

.geopolitical-section .geo-collapse-header:focus-visible {
  outline: 2px solid var(--mdr-brand-gold);
  outline-offset: 3px;
  border-radius: 8px;
}

/* The chevron only means something where the cards actually collapse. */
@media (max-width: 767px) {
  .geopolitical-section .geo-collapse-chevron {
    display: flex;
  }
}

/* "Real-time" / "Live" badges were Bootstrap's solid green and cyan fills. */
.geopolitical-section .geo-live-badge {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--mdr-text-soft) !important;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 3px 8px;
}

.geopolitical-section .geo-live-badge--rt {
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.28);
  color: var(--mdr-signal-buy) !important;
}

/* ——— Colour ———
   Each block gets a faint tint in its own hue over the shared surface, the
   same device the dashboard's insight cards use. */
.geopolitical-section .pizza-compact-card {
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(204, 144, 60, 0.08), transparent 62%),
    var(--mdr-card-surface);
}

.geopolitical-section .threat-overview-card {
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(96, 165, 250, 0.07), transparent 62%),
    var(--mdr-card-surface);
}

.geopolitical-section .market-intel-card {
  background:
    linear-gradient(135deg, rgba(34, 197, 94, 0.06), transparent 50%),
    var(--mdr-card-surface);
}

.geopolitical-section .polymarket-card {
  background:
    linear-gradient(135deg, rgba(224, 188, 138, 0.07), transparent 50%),
    var(--mdr-card-surface);
}

.geopolitical-section .geo-map-card {
  background:
    radial-gradient(100% 70% at 50% 0%, rgba(96, 165, 250, 0.06), transparent 60%),
    var(--mdr-card-surface);
}

/* ——— Crises sidebar overflow ———
   Every active crisis is rendered so the header count is honest; the ones past
   the visible limit are hidden until asked for. The map is fed separately from
   the full list, so nothing here affects what is plotted. */
.geopolitical-section .crises-column .crisis-card-compact.is-overflow {
  display: none;
}

.geopolitical-section .crises-column.crises-expanded .crisis-card-compact.is-overflow {
  display: block;
}

.geopolitical-section .crises-more-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--mdr-text-soft);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.18s ease;
}

.geopolitical-section .crises-more-btn i {
  font-size: 10px;
}

.geopolitical-section .crises-more-btn:active {
  transform: scale(0.99);
}

/* ——— Context-only crises ———
   Humanitarian rows share the card, deliberately not the severity language:
   no red/orange left border, no severity number, a neutral label instead. The
   colour vocabulary on this page means market risk, and a landslide is not a
   trading signal. */
.geopolitical-section .crisis-card-compact.crisis-context {
  background: var(--mdr-card-surface);
  border: 1px solid var(--mdr-card-border);
  border-left: 3px solid rgba(148, 163, 184, 0.55);
}

.geopolitical-section .crisis-context-tag {
  flex-shrink: 0;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(148, 163, 184, 0.16);
  color: var(--mdr-text-soft);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* ——— Pizza gauge caption ——— */
.geopolitical-section .pizza-gauge-caption {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.geopolitical-section .pizza-gauge-metric {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--mdr-text-dim);
}

.geopolitical-section .pizza-gauge-caption [class^="status-"] {
  font-size: 15px;
  font-weight: 600;
}

/* ——— Threat header, now that the badge has moved out ——— */
.geopolitical-section .threat-header h4 {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.01em;
  margin: 0 0 10px;
}

/* ==========================================================
   18. WEBVIEW-SPECIFIC ADJUSTMENTS
   ========================================================== */
body.webview-mode .mobile-greeting {
  padding-top: 40px;
  padding-bottom: 32px;
}

body.webview-mode .mobile-back-btn {
  top: calc(10px + env(safe-area-inset-top, 0px));
}

body.webview-mode.mobile-tab-overlay-open .mobile-tab-overlay {
  padding-top: calc(56px + env(safe-area-inset-top, 0px));
}

/* ══════════════════════════════════════════════════════════════════════
   Les surcharges desktop vivent en FIN DE FICHIER, après les règles
   globales des cartes qu'elles redéfinissent.

   Elles étaient placées plus haut : une media query n'ajoute AUCUNE
   spécificité, donc `.mobile-insight-big` global déclaré ensuite gagnait à
   spécificité égale, simplement parce qu'il venait après. Les tailles
   desktop étaient écrites, compilées, chargées — et silencieusement
   annulées. Les règles du bandeau de résumé, elles, passaient : elles
   portent un sélecteur plus spécifique.
   ══════════════════════════════════════════════════════════════════════ */
/* ── Déclinaison desktop des cartes d'insight ──────────────────────────
   Ces quatre cartes remplacent _insights_grid (mode expert) et
   _dashboard_bubbles_desktop (mode basic). Leur style est déjà global ; seule
   la mise en page diffère : bande défilante sur téléphone, grille de quatre
   au-dessus de 768px.

   Les tailles y sont très nettement RÉDUITES. Une carte pensée pour le pouce,
   posée sur une colonne de bureau, pèse trop lourd face au bandeau de résumé
   et à celui du plan de trading qui l'encadrent : c'est un coup d'œil, pas le
   contenu principal de la page. */
@media (min-width: 768px) {
  .mobile-insights-section {
    padding: 0 0 10px;
  }

  /* Le titre de section s'aligne sur « Portfolio » plus bas dans la page.
     Attention : ce n'est PAS le 1.5rem de `.section-header .section-title h2`
     (dashboard.scss). Cette valeur est recouverte à chaque palier, et sur
     écran large c'est
       @media (min-width: 992px) .section-header-compact .section-title h2
     qui l'emporte, à 1.1rem / graisse 700. C'est cette valeur-là qu'on voit
     à côté, donc celle qu'il faut reprendre. */
  .mobile-insights-header {
    padding: 0 0 10px;
  }

  .mobile-insights-title {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
  }

  .mobile-insights-scroll {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    padding: 0;
    overflow-x: visible;
  }

  .mobile-insight-card {
    /* flex-basis fixe à 220px en défilement ; en grille c'est la colonne qui
       donne la largeur, sinon les cartes débordent de leur piste. */
    flex: initial;
    min-width: 0;
    padding: 9px 13px;
    border-radius: 12px;
  }

  /* Le survol n'existe pas au doigt : il n'est défini que pour le pointeur. */
  .mobile-insight-card:hover {
    transform: translateY(-2px);
    border-color: var(--mdr-card-border-hover, var(--mdr-card-border));
  }

  .mobile-insight-status {
    padding: 2px 7px;
    font-size: 9px;
  }

  .mobile-insight-body {
    margin-top: 6px;
  }

  .mobile-insight-big {
    font-size: 16px;
  }

  .mobile-insight-title {
    font-size: 11.5px;
  }

  .mobile-insight-desc {
    font-size: 10px;
    margin-top: 2px;
  }

  .mobile-insight-gauge {
    margin-top: 5px;
  }

  .mobile-insight-gauge-track {
    height: 3px;
  }

  .mobile-insight-gauge-label {
    font-size: 9px;
  }

  /* ── Le bandeau de résumé, dans le langage des cartes ─────────────────
     Il venait de dashboard.scss comme UN conteneur unique traversé de
     séparateurs : un vocabulaire différent de celui des cartes posées juste
     en dessous, pour deux bandeaux voisins.

     Il devient une RANGÉE DE TUILES — même rayon, même surface, même bordure
     que les cartes — mais plus plates et plus basses qu'elles : c'est un
     rappel de chiffres, les cartes sont ce qu'on vient lire.

     Le conteneur perd donc son fond, sa bordure et son ombre, qui passent aux
     tuiles ; et son backdrop-filter, qui créait un bloc conteneur dans lequel
     tout position:fixed se serait placé par rapport à la barre. */
  .dashboard-container .portfolio-summary-bar {
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
    gap: 8px;
    align-items: stretch;
  }

  .dashboard-container .portfolio-summary-bar .summary-item {
    background: var(--mdr-card-surface);
    border: 1px solid var(--mdr-card-border);
    border-radius: 11px;
    padding: 7px 12px;
    gap: 0.55rem;
  }

  /* Les séparateurs n'ont plus de rôle : ce sont les tuiles qui découpent. */
  .dashboard-container .portfolio-summary-bar .summary-divider {
    display: none;
  }

  .dashboard-container .portfolio-summary-bar .summary-value {
    font-size: 14px;
  }

  .dashboard-container .portfolio-summary-bar .summary-label {
    font-size: 8px;
    letter-spacing: 0.4px;
  }

  /* Le sélecteur LITE/PRO n'est pas une donnée : il reste sans tuile. */
  .dashboard-container .portfolio-summary-bar .summary-item-toggle {
    background: transparent;
    border: 0;
  }
}

/* Au-delà de 1400px les cartes s'élargissent et leur contenu flotte : on
   desserre à peine, sans regagner de hauteur. */
@media (min-width: 1400px) {
  .mobile-insights-scroll {
    gap: 10px;
  }

  .mobile-insight-card {
    padding: 10px 15px;
  }

  .dashboard-container .portfolio-summary-bar {
    gap: 10px;
  }
}
/* line 13, app/assets/stylesheets/billing_confirmation.scss */
.nvc {
  --nvc-ok: var(--color-success);
  --nvc-ok-tint: rgba(34, 197, 94, 0.12);
  color: var(--text-primary);
  font-family: var(--police-texte);
  padding: 40px 20px 32px;
}

/* line 34, app/assets/stylesheets/billing_confirmation.scss */
.nvc::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--bg-primary);
  z-index: -1;
}

/* line 42, app/assets/stylesheets/billing_confirmation.scss */
[data-theme="light"] .nvc {
  --nvc-ok-tint: rgba(22, 163, 74, 0.12);
}

/* line 46, app/assets/stylesheets/billing_confirmation.scss */
.nvc-col {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
}

/* line 53, app/assets/stylesheets/billing_confirmation.scss */
.nvc-mark {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 24px;
}

/* line 64, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  padding: 6px 16px;
  border-radius: 20px;
  background: rgba(var(--accent-primary-rgb), 0.08);
  border: 1px solid rgba(var(--accent-primary-rgb), 0.22);
  color: var(--accent-primary);
  font-family: var(--police-texte);
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* line 81, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge i {
  font-size: 0.7rem;
}

/* line 88, app/assets/stylesheets/billing_confirmation.scss */
.nvc-title {
  font-family: var(--police-texte);
  font-size: clamp(2rem, 8.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.005em;
  color: var(--text-primary);
  margin: 0 0 12px;
  text-wrap: balance;
}

/* line 99, app/assets/stylesheets/billing_confirmation.scss */
.nvc-lede {
  font-family: var(--police-texte);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 34ch;
  margin: 0 auto;
}

/* line 110, app/assets/stylesheets/billing_confirmation.scss */
.nvc-filet {
  margin: 32px auto;
}

/* line 117, app/assets/stylesheets/billing_confirmation.scss */
.nvc-plan {
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* line 127, app/assets/stylesheets/billing_confirmation.scss */
.nvc-card {
  position: relative;
  margin-top: 32px;
  padding: 0 18px;
  text-align: left;
  background: var(--bg-card-solid);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

/* line 137, app/assets/stylesheets/billing_confirmation.scss */
.nvc-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent-primary), transparent);
  opacity: 0.45;
}

/* line 149, app/assets/stylesheets/billing_confirmation.scss */
.nvc-rows {
  margin: 0;
}

/* line 151, app/assets/stylesheets/billing_confirmation.scss */
.nvc-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 15px 0;
  border-top: 1px solid var(--border-color);
}

/* line 159, app/assets/stylesheets/billing_confirmation.scss */
.nvc-row:first-child {
  border-top: 0;
}

/* line 161, app/assets/stylesheets/billing_confirmation.scss */
.nvc-row dt {
  flex: 0 0 auto;
  margin: 0;
  font-family: var(--police-texte);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}

/* line 173, app/assets/stylesheets/billing_confirmation.scss */
.nvc-row dd {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  text-align: right;
  font-family: var(--police-texte);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

/* line 188, app/assets/stylesheets/billing_confirmation.scss */
.nvc-ref {
  letter-spacing: 0.06em;
}

/* line 193, app/assets/stylesheets/billing_confirmation.scss */
.nvc-pill {
  display: inline-block;
  padding: 2px 10px;
  border-radius: var(--radius-sm);
  background: var(--nvc-ok-tint);
  color: var(--nvc-ok);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* line 203, app/assets/stylesheets/billing_confirmation.scss */
.nvc-pill.is-pending {
  background: rgba(var(--accent-primary-rgb), 0.12);
  color: var(--accent-primary);
}

/* line 210, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge.is-pending i {
  font-size: 0.72rem;
}

/* line 214, app/assets/stylesheets/billing_confirmation.scss */
.nvc-totals {
  padding: 12px 0 4px;
  border-top: 1px solid var(--border-color);
}

/* line 219, app/assets/stylesheets/billing_confirmation.scss */
.nvc-total-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 5px 0;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
}

/* line 229, app/assets/stylesheets/billing_confirmation.scss */
.nvc-total-line.is-final {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border-color);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
}

/* line 240, app/assets/stylesheets/billing_confirmation.scss */
.nvc-doc {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  margin: 4px -18px 0;
  padding: 0 18px;
  border-top: 1px solid var(--border-color);
  color: var(--accent-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.25s ease;
}

/* line 254, app/assets/stylesheets/billing_confirmation.scss */
.nvc-doc:hover, .nvc-doc:focus-visible {
  background: rgba(var(--accent-primary-rgb), 0.08);
  color: var(--accent-primary);
}

/* line 260, app/assets/stylesheets/billing_confirmation.scss */
.nvc-doc:focus-visible {
  outline: 2px solid rgba(var(--accent-primary-rgb), 0.7);
  outline-offset: -2px;
}

/* line 266, app/assets/stylesheets/billing_confirmation.scss */
.nvc-doc-ext {
  margin-left: auto;
  font-size: 0.6875rem;
  opacity: 0.7;
}

/* line 275, app/assets/stylesheets/billing_confirmation.scss */
.nvc-actions {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* line 283, app/assets/stylesheets/billing_confirmation.scss */
.nvc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 360px;
  min-height: 56px;
  padding: 12px 24px;
  border-radius: 14px;
  font-family: var(--police-texte);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

/* line 299, app/assets/stylesheets/billing_confirmation.scss */
.nvc-btn i {
  font-size: 0.8rem;
}

/* line 302, app/assets/stylesheets/billing_confirmation.scss */
.nvc-btn-primary {
  background: rgba(var(--accent-primary-rgb), 0.12);
  border: 1px solid rgba(var(--accent-primary-rgb), 0.45);
  color: var(--accent-primary);
}

/* line 307, app/assets/stylesheets/billing_confirmation.scss */
.nvc-btn-primary:hover, .nvc-btn-primary:focus-visible {
  background: rgba(var(--accent-primary-rgb), 0.2);
  border-color: var(--accent-primary);
  color: var(--accent-primary);
  transform: translateY(-2px);
}

/* line 315, app/assets/stylesheets/billing_confirmation.scss */
.nvc-btn-primary:focus-visible {
  outline: 2px solid rgba(var(--accent-primary-rgb), 0.7);
  outline-offset: 3px;
}

/* line 321, app/assets/stylesheets/billing_confirmation.scss */
.nvc-link-quiet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 8px;
  font-family: var(--police-texte);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: var(--border-color-light);
}

/* line 336, app/assets/stylesheets/billing_confirmation.scss */
.nvc-link-quiet:hover, .nvc-link-quiet:focus-visible {
  color: var(--accent-primary);
  text-decoration-color: currentColor;
}

/* line 342, app/assets/stylesheets/billing_confirmation.scss */
.nvc-link-quiet:focus-visible {
  outline: 2px solid rgba(var(--accent-primary-rgb), 0.7);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

/* line 349, app/assets/stylesheets/billing_confirmation.scss */
.nvc-note,
.nvc-support {
  max-width: 38ch;
  margin: 24px auto 0;
  font-family: var(--police-texte);
  font-size: var(--legende-taille);
  line-height: var(--legende-interligne);
  letter-spacing: var(--legende-lettrage);
  color: var(--text-muted);
}

/* line 360, app/assets/stylesheets/billing_confirmation.scss */
.nvc-note i {
  margin-right: 6px;
}

/* line 362, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support {
  margin-top: 36px;
}

/* line 365, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support a {
  color: var(--text-secondary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* line 370, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support a:hover {
  color: var(--accent-primary);
}

@keyframes nvc-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* line 382, app/assets/stylesheets/billing_confirmation.scss */
.nvc-mark,
.nvc-badge,
.nvc-title,
.nvc-lede,
.nvc-filet,
.nvc-card,
.nvc-actions,
.nvc-note,
.nvc-support {
  animation: nvc-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* line 394, app/assets/stylesheets/billing_confirmation.scss */
.nvc-mark {
  animation-delay: 0ms;
}

/* line 395, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge {
  animation-delay: 50ms;
}

/* line 396, app/assets/stylesheets/billing_confirmation.scss */
.nvc-title {
  animation-delay: 100ms;
}

/* line 397, app/assets/stylesheets/billing_confirmation.scss */
.nvc-lede {
  animation-delay: 140ms;
}

/* line 398, app/assets/stylesheets/billing_confirmation.scss */
.nvc-filet {
  animation-delay: 180ms;
}

/* line 399, app/assets/stylesheets/billing_confirmation.scss */
.nvc-card {
  animation-delay: 220ms;
}

/* line 400, app/assets/stylesheets/billing_confirmation.scss */
.nvc-actions {
  animation-delay: 290ms;
}

/* line 401, app/assets/stylesheets/billing_confirmation.scss */
.nvc-note {
  animation-delay: 300ms;
}

/* line 402, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support {
  animation-delay: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  /* line 408, app/assets/stylesheets/billing_confirmation.scss */
  .nvc,
.nvc *,
.nvc *::before,
.nvc *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  /* line 418, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-btn-primary:hover,
.nvc-btn-primary:focus-visible {
    transform: none;
  }
}

@media (min-width: 768px) {
  /* line 424, app/assets/stylesheets/billing_confirmation.scss */
  .nvc {
    padding: 88px 24px 80px;
  }
  /* line 426, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-col {
    max-width: 560px;
  }
  /* line 428, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-mark {
    width: 56px;
    height: 56px;
    margin-bottom: 28px;
  }
  /* line 434, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-filet {
    margin: 40px auto;
  }
  /* line 436, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-card {
    margin-top: 40px;
    padding: 0 28px;
  }
  /* line 441, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-row {
    padding: 18px 0;
  }
  /* line 443, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-doc {
    margin: 4px -28px 0;
    padding: 0 28px;
  }
  /* line 448, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-actions {
    margin-top: 40px;
    flex-direction: row;
    justify-content: center;
    gap: 24px;
  }
  /* line 455, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-btn {
    width: auto;
    min-width: 260px;
  }
}

@media print {
  /* line 460, app/assets/stylesheets/billing_confirmation.scss */
  .nvc {
    padding: 0;
  }
  /* line 461, app/assets/stylesheets/billing_confirmation.scss */
  .nvc::before {
    display: none;
  }
  /* line 462, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-actions,
.nvc-doc,
.nvc-note {
    display: none !important;
  }
}
/* line 25, app/assets/stylesheets/charte.scss */
.nv-t1,
.landing-v3 h1,
.landing-v3 .v3-hero-title,
body:not(.webview-mode) main h1 {
  font-family: var(--police-titre);
  font-weight: var(--t1-graisse);
  letter-spacing: var(--t1-lettrage);
  font-optical-sizing: auto;
}

/* line 35, app/assets/stylesheets/charte.scss */
.nv-t2,
h2 {
  font-family: var(--police-texte);
  font-weight: var(--t2-graisse);
  letter-spacing: var(--t2-lettrage);
}

/* line 42, app/assets/stylesheets/charte.scss */
.nv-t3,
h3 {
  font-family: var(--police-texte);
  font-weight: var(--t3-graisse);
  letter-spacing: var(--t3-lettrage);
}

/* line 62, app/assets/stylesheets/charte.scss */
.landing-v3 h1, .landing-v3 .nv-t1,
.page-hero-v2 h1,
.page-hero-v2 .nv-t1,
.pricing-page h1,
.pricing-page .nv-t1,
.blog-page-v2 h1,
.blog-page-v2 .nv-t1,
.about-section-v2 h1,
.about-section-v2 .nv-t1,
.features-section-v2 h1,
.features-section-v2 .nv-t1,
.track-record-preview-section h1,
.track-record-preview-section .nv-t1,
.api-docs-hero h1,
.api-docs-hero .nv-t1,
.contact-page-v2 h1,
.contact-page-v2 .nv-t1 {
  font-family: var(--police-titre);
  font-size: clamp(2.125rem, 4.4vw, var(--t1-taille));
  line-height: 1.167;
  font-weight: var(--t1-graisse);
  letter-spacing: var(--t1-lettrage);
  font-optical-sizing: auto;
}

/* line 71, app/assets/stylesheets/charte.scss */
.landing-v3 h2, .landing-v3 .nv-t2,
.page-hero-v2 h2,
.page-hero-v2 .nv-t2,
.pricing-page h2,
.pricing-page .nv-t2,
.blog-page-v2 h2,
.blog-page-v2 .nv-t2,
.about-section-v2 h2,
.about-section-v2 .nv-t2,
.features-section-v2 h2,
.features-section-v2 .nv-t2,
.track-record-preview-section h2,
.track-record-preview-section .nv-t2,
.api-docs-hero h2,
.api-docs-hero .nv-t2,
.contact-page-v2 h2,
.contact-page-v2 .nv-t2 {
  font-family: var(--police-texte);
  font-size: clamp(1.5rem, 2.6vw, var(--t2-taille));
  line-height: 1.286;
  font-weight: var(--t2-graisse);
  letter-spacing: var(--t2-lettrage);
}

/* line 79, app/assets/stylesheets/charte.scss */
.landing-v3 h3, .landing-v3 .nv-t3, .landing-v3 .nv-sous-titre,
.page-hero-v2 h3,
.page-hero-v2 .nv-t3,
.page-hero-v2 .nv-sous-titre,
.pricing-page h3,
.pricing-page .nv-t3,
.pricing-page .nv-sous-titre,
.blog-page-v2 h3,
.blog-page-v2 .nv-t3,
.blog-page-v2 .nv-sous-titre,
.about-section-v2 h3,
.about-section-v2 .nv-t3,
.about-section-v2 .nv-sous-titre,
.features-section-v2 h3,
.features-section-v2 .nv-t3,
.features-section-v2 .nv-sous-titre,
.track-record-preview-section h3,
.track-record-preview-section .nv-t3,
.track-record-preview-section .nv-sous-titre,
.api-docs-hero h3,
.api-docs-hero .nv-t3,
.api-docs-hero .nv-sous-titre,
.contact-page-v2 h3,
.contact-page-v2 .nv-t3,
.contact-page-v2 .nv-sous-titre {
  font-family: var(--police-texte);
  font-size: var(--t3-taille);
  line-height: 1.556;
  font-weight: var(--t3-graisse);
  letter-spacing: var(--t3-lettrage);
}

/* line 87, app/assets/stylesheets/charte.scss */
.landing-v3 p, .landing-v3 li, .landing-v3 .nv-corps,
.page-hero-v2 p,
.page-hero-v2 li,
.page-hero-v2 .nv-corps,
.pricing-page p,
.pricing-page li,
.pricing-page .nv-corps,
.blog-page-v2 p,
.blog-page-v2 li,
.blog-page-v2 .nv-corps,
.about-section-v2 p,
.about-section-v2 li,
.about-section-v2 .nv-corps,
.features-section-v2 p,
.features-section-v2 li,
.features-section-v2 .nv-corps,
.track-record-preview-section p,
.track-record-preview-section li,
.track-record-preview-section .nv-corps,
.api-docs-hero p,
.api-docs-hero li,
.api-docs-hero .nv-corps,
.contact-page-v2 p,
.contact-page-v2 li,
.contact-page-v2 .nv-corps {
  font-family: var(--police-texte);
  letter-spacing: var(--corps-lettrage);
}

/* line 96, app/assets/stylesheets/charte.scss */
.nv-legende,
.pricing-note,
.section-badge,
.v3-features-badge,
.accuracy-period,
figcaption,
small {
  font-family: var(--police-texte);
  font-size: var(--legende-taille);
  line-height: var(--legende-interligne);
  font-weight: var(--legende-graisse);
  letter-spacing: var(--legende-lettrage);
}

/* line 114, app/assets/stylesheets/charte.scss */
body,
.landing-v3,
.page-hero-v2 {
  color: var(--text-primary);
}

/* line 121, app/assets/stylesheets/charte.scss */
.nv-or {
  color: var(--accent-primary);
}

/* line 122, app/assets/stylesheets/charte.scss */
.nv-ivoire {
  color: var(--text-primary);
}

/* line 123, app/assets/stylesheets/charte.scss */
.nv-fond-nuit {
  background-color: var(--bg-primary);
}

/* line 124, app/assets/stylesheets/charte.scss */
.nv-fond-surface {
  background-color: var(--bg-secondary);
}

/* line 127, app/assets/stylesheets/charte.scss */
.nv-filet {
  display: block;
  width: 88px;
  height: 3px;
  border: 0;
  border-radius: 2px;
  background: var(--accent-primary);
}

/* line 140, app/assets/stylesheets/charte.scss */
.section-title-v2,
.v3-features-title,
.v3-opp-heading,
.v3-faq-title,
.v3-b2b-title,
.v3-access-title,
.features-title-v2,
.about-title-v2,
.contact-title-v2 {
  font-family: var(--police-texte);
  font-size: clamp(1.5rem, 2.6vw, var(--t2-taille));
  line-height: 1.286;
  font-weight: var(--t2-graisse);
  letter-spacing: var(--t2-lettrage);
}

/* line 158, app/assets/stylesheets/charte.scss */
.page-hero-title {
  font-family: var(--police-titre);
  font-size: clamp(2.125rem, 4.4vw, var(--t1-taille));
  line-height: 1.167;
  font-weight: var(--t1-graisse);
  letter-spacing: var(--t1-lettrage);
  font-optical-sizing: auto;
}

/* line 172, app/assets/stylesheets/charte.scss */
.landing-v3 h1,
.landing-v3 .v3-hero-title,
.landing-v3 .v3-hero-title-line {
  font-family: var(--police-texte);
}

/* line 183, app/assets/stylesheets/charte.scss */
.blog-hero-v2 .blog-hero-title,
[data-theme="light"] .blog-hero-v2 .blog-hero-title {
  color: var(--accent-primary) !important;
  font-weight: 600 !important;
  letter-spacing: var(--t1-lettrage);
  max-width: 15ch;
  margin-inline: auto;
  text-wrap: balance;
}

/* line 200, app/assets/stylesheets/charte.scss */
.blog-hero-v2 .blog-hero-subtitle {
  max-width: 600px !important;
  margin-inline: auto !important;
  font-size: var(--t3-taille) !important;
  line-height: 1.6 !important;
}

/* line 211, app/assets/stylesheets/charte.scss */
.nv-mention-risque {
  max-width: 620px;
  margin: 0 auto 28px;
  padding: 12px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: #94a3b8;
  font-family: var(--police-texte);
  font-size: 0.8125rem;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 640px) {
  /* line 227, app/assets/stylesheets/charte.scss */
  .nv-mention-risque {
    margin-bottom: 20px;
    padding: 10px 14px;
    font-size: 0.75rem;
  }
}

/* line 236, app/assets/stylesheets/charte.scss */
.nv-mention-risque--avis {
  margin-block: 14px 0;
  border: 0;
  background: none;
  font-size: 0.75rem;
}
/* line 13, app/assets/stylesheets/welcome_onboarding.scss */
html.nv-welcome-lock,
html.nv-welcome-lock body {
  overflow: hidden !important;
}

/* line 18, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: grid;
  place-items: center;
  padding: 16px;
}

/* line 27, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome[hidden] {
  display: none;
}

/* line 30, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 4, 14, 0.74);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.22s ease;
}

/* line 39, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome.is-open .nv-welcome__backdrop {
  opacity: 1;
}

/* line 42, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__dialog {
  position: relative;
  width: 100%;
  max-width: 760px;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  background: radial-gradient(120% 60% at 50% 0%, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0) 60%), linear-gradient(180deg, #0e1524 0%, #0a0f1b 100%);
  border: 1px solid rgba(224, 188, 138, 0.16);
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: #f7f6f4;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  opacity: 0;
  transform: translateY(14px) scale(0.985);
  transition: opacity 0.22s ease, transform 0.26s cubic-bezier(0.2, 0.8, 0.2, 1), max-width 0.25s ease;
  outline: none;
}

/* line 65, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome.is-open .nv-welcome__dialog {
  opacity: 1;
  transform: none;
}

/* line 70, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome.is-offer .nv-welcome__dialog {
  max-width: 1180px;
}

/* line 74, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__progress {
  position: sticky;
  top: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.06);
  z-index: 2;
}

/* line 82, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__progress-bar {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
  border-radius: 0 3px 3px 0;
  transition: width 0.3s ease;
}

/* line 93, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__top {
  position: sticky;
  top: 3px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 8px;
  background: linear-gradient(180deg, #0e1524 70%, rgba(14, 21, 36, 0));
}

/* line 104, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__counter {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(226, 232, 240, 0.5);
}

/* line 111, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 118, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__skip {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: #e2e8f0;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

/* line 129, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__skip:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.24);
}

/* line 132, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__close {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: rgba(226, 232, 240, 0.65);
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 145, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__close:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* line 148, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__skip:focus-visible,
.nv-welcome__close:focus-visible,
.nv-welcome__btn:focus-visible,
.nv-welcome__dot:focus-visible,
.nv-welcome__nav-back:focus-visible {
  outline: 2px solid #e0bc8a;
  outline-offset: 2px;
}

/* line 158, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__viewport {
  flex: 1;
}

/* line 160, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide {
  padding: 10px 44px 6px;
  text-align: center;
}

/* line 164, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide[hidden] {
  display: none;
}

/* line 165, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide.is-in-forward {
  animation: nvw-in-forward 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* line 166, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide.is-in-back {
  animation: nvw-in-back 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes nvw-in-forward {
  from {
    opacity: 0;
    transform: translateX(26px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes nvw-in-back {
  from {
    opacity: 0;
    transform: translateX(-26px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* line 179, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e0bc8a;
}

/* line 190, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__eyebrow--free, .nv-welcome__eyebrow--trial {
  color: #4ade80;
}

/* line 191, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__eyebrow--premium {
  color: #e0bc8a;
}

/* line 194, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__title {
  margin: 0 auto 10px;
  max-width: 600px;
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.01em;
  color: #f7f6f4;
}

/* line 204, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__lede {
  margin: 0 auto 22px;
  max-width: 540px;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(226, 232, 240, 0.74);
}

/* line 211, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__lede--tight {
  margin-bottom: 18px;
}

/* line 214, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__hint,
.nv-welcome__note {
  margin: 18px auto 4px;
  font-size: 0.8rem;
  color: rgba(226, 232, 240, 0.5);
}

/* line 220, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__hint i,
.nv-welcome__note i {
  margin-right: 4px;
}

/* line 224, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__visual--orbit {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 8px auto 10px;
  display: grid;
  place-items: center;
}

/* line 233, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(224, 188, 138, 0.22);
}

/* line 238, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring--1 {
  inset: 30px;
  border-color: rgba(224, 188, 138, 0.38);
}

/* line 239, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring--2 {
  inset: 12px;
  animation: nvw-breathe 4s ease-in-out infinite;
}

/* line 240, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring--3 {
  inset: -6px;
  border-style: dashed;
  border-color: rgba(224, 188, 138, 0.16);
  animation: nvw-spin 40s linear infinite;
}

/* line 243, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__logo {
  position: relative;
  width: 84px;
  height: 84px;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgba(204, 144, 60, 0.45));
}

@keyframes nvw-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes nvw-breathe {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.6;
  }
}

/* line 257, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 266, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__chips li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.85rem;
  font-weight: 500;
  color: #e2e8f0;
}

/* line 279, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__chips i {
  color: #e0bc8a;
  font-size: 0.8rem;
}

/* line 283, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 18px 0 8px;
  padding: 0;
  list-style: none;
}

/* line 292, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__step-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 26px 16px 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

/* line 303, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__step-card strong {
  font-size: 0.98rem;
  color: #f7f6f4;
}

/* line 304, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__step-card span:last-child {
  font-size: 0.84rem;
  line-height: 1.5;
  color: rgba(226, 232, 240, 0.64);
}

/* line 307, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__step-index {
  position: absolute;
  top: 12px;
  left: 14px;
  font-size: 0.7rem;
  font-weight: 700;
  color: rgba(224, 188, 138, 0.6);
}

/* line 316, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__step-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-bottom: 4px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.22), rgba(224, 188, 138, 0.08));
  border: 1px solid rgba(224, 188, 138, 0.25);
  color: #e0bc8a;
  font-size: 1.05rem;
}

/* line 330, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__checklist {
  display: grid;
  gap: 8px;
  max-width: 480px;
  margin: 18px auto 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

/* line 339, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__checklist li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.93rem;
  color: #e2e8f0;
}

/* line 351, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__checklist i {
  flex: 0 0 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.14);
  color: #4ade80;
  font-size: 0.7rem;
}

/* line 364, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 4px 0 6px;
  text-align: left;
}

/* line 372, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

/* line 381, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__feature strong {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.92rem;
  color: #f7f6f4;
  margin-bottom: 2px;
}

/* line 393, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__feature > div > span:not(.nv-welcome__tag) {
  display: block;
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgba(226, 232, 240, 0.62);
}

/* line 396, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__feature-icon {
  flex: 0 0 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.24), rgba(204, 144, 60, 0.06));
  color: #e0bc8a;
  font-size: 0.95rem;
}

/* line 407, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__tag {
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* line 415, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__tag--starter {
  background: rgba(224, 188, 138, 0.14);
  color: #e0bc8a;
}

/* line 416, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__tag--pro {
  background: rgba(204, 144, 60, 0.24);
  color: #f1c98a;
}

/* line 420, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide--offer {
  padding-bottom: 22px;
}

/* line 424, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing {
  text-align: left;
}

/* line 427, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-plans--modal .pricing-toggle-wrap {
  margin: 0 auto 1.4rem;
}

/* line 430, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-cards-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}

@media (max-width: 999px) {
  /* line 430, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem 0.9rem;
  }
}

@media (max-width: 560px) {
  /* line 430, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* line 439, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-promo-note {
  overflow-wrap: anywhere;
}

@media (max-width: 999px) {
  /* line 444, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-card-popular {
    order: -1;
  }
  /* line 445, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-card-current {
    order: 10;
  }
}

/* line 448, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-card-new {
  padding: 1.4rem 1.1rem;
}

/* line 449, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-card-new:hover {
  transform: none;
}

/* line 450, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-cta-wrap {
  margin-bottom: 1rem;
}

/* line 451, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-features-list {
  margin-bottom: 0;
}

/* line 453, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-btn.is-busy,
.nv-welcome__pricing input.is-busy[type=submit] {
  opacity: 0.65;
  cursor: progress;
}

/* line 461, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 12px;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

/* line 476, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn:active {
  transform: translateY(1px);
}

/* line 478, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--primary {
  border: none;
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  color: #000615;
  box-shadow: 0 8px 22px rgba(204, 144, 60, 0.28);
}

/* line 484, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--primary:hover {
  box-shadow: 0 10px 28px rgba(204, 144, 60, 0.4);
}

/* line 487, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--outline {
  background: transparent;
  border: 1px solid rgba(224, 188, 138, 0.5);
  color: #e0bc8a;
}

/* line 492, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--outline:hover {
  background: rgba(224, 188, 138, 0.08);
  border-color: #e0bc8a;
}

/* line 496, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--ghost {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #f7f6f4;
}

/* line 501, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
}

/* line 504, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn.is-busy {
  color: transparent !important;
  pointer-events: none;
}

/* line 508, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn.is-busy::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(0, 6, 21, 0.25);
  border-top-color: #000615;
  animation: nvw-spin 0.7s linear infinite;
}

/* line 520, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--outline.is-busy::after {
  border-color: rgba(224, 188, 138, 0.25);
  border-top-color: #e0bc8a;
}

/* line 523, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  margin: 18px 0 6px;
  padding: 0;
  list-style: none;
}

/* line 532, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__trust li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.8rem;
  color: rgba(226, 232, 240, 0.72);
}

/* line 540, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__trust i {
  color: #4ade80;
  font-size: 0.8rem;
}

/* line 543, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__card-note {
  max-width: 600px;
  margin: 4px auto 0;
  font-size: 0.74rem;
  line-height: 1.5;
  color: rgba(226, 232, 240, 0.46);
}

/* line 551, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__stay-free {
  max-width: 380px;
  margin: 18px auto 4px;
}

/* line 555, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__stay-free p {
  margin: 8px 0 0;
  font-size: 0.76rem;
  color: rgba(226, 232, 240, 0.5);
}

/* line 559, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px 22px;
  background: linear-gradient(0deg, #0a0f1b 72%, rgba(10, 15, 27, 0));
}

/* line 572, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome.is-offer .nv-welcome__nav {
  position: static;
  padding-top: 6px;
  background: none;
}

/* line 579, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-back {
  flex: 0 0 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  background: transparent;
  color: #e2e8f0;
  cursor: pointer;
}

/* line 590, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-back:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* line 593, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__dots {
  display: flex;
  align-items: center;
  gap: 7px;
}

/* line 599, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: width 0.25s ease, background 0.25s ease;
}

/* line 613, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__dot.is-active {
  width: 24px;
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
}

/* line 616, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-next {
  width: auto;
  min-width: 150px;
}

/* line 620, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-next[hidden] {
  visibility: hidden;
  display: inline-flex;
}

@media (max-width: 640px) {
  /* line 625, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome {
    padding: 0;
    place-items: end center;
  }
  /* line 630, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__dialog,
.nv-welcome.is-offer .nv-welcome__dialog {
    width: 100%;
    max-width: none;
    max-height: 94dvh;
    border-radius: 22px 22px 0 0;
    border-bottom: none;
  }
  /* line 641, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__dialog {
    transform: translateY(40px);
  }
  /* line 642, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome.is-open .nv-welcome__dialog {
    transform: none;
  }
  /* line 644, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__slide {
    padding: 6px 20px 4px;
  }
  /* line 645, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__steps,
.nv-welcome__features {
    grid-template-columns: 1fr;
  }
  /* line 647, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-card {
    flex-direction: row;
    text-align: left;
    padding: 14px;
    gap: 12px;
  }
  /* line 648, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-card strong {
    display: block;
  }
  /* line 649, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-index {
    display: none;
  }
  /* line 650, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-icon {
    flex: 0 0 42px;
    margin: 0;
  }
  /* line 651, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__nav {
    padding: 12px 16px calc(16px + env(safe-area-inset-bottom));
  }
  /* line 652, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__nav-next {
    min-width: 130px;
  }
  /* line 653, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__trust {
    gap: 6px 14px;
  }
}

@media (max-width: 640px) {
  /* line 658, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-card {
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
  }
  /* line 666, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-card .nv-welcome__step-icon {
    grid-row: 1 / span 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 671, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__dialog,
.nv-welcome__backdrop,
.nv-welcome__progress-bar {
    transition: none;
  }
  /* line 674, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__slide.is-in-forward,
.nv-welcome__slide.is-in-back,
.nv-welcome__ring {
    animation: none;
  }
}

/* line 681, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__backdrop {
  background: rgba(15, 23, 42, 0.45);
}

/* line 683, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__dialog {
  background: radial-gradient(120% 60% at 50% 0%, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0) 60%), #ffffff;
  border-color: rgba(15, 23, 42, 0.08);
  color: #111825;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.25);
}

/* line 692, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__title,
[data-theme="light"] .nv-welcome__step-card strong,
[data-theme="light"] .nv-welcome__feature strong {
  color: #111825;
}

/* line 696, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__lede,
[data-theme="light"] .nv-welcome__step-card span:last-child,
[data-theme="light"] .nv-welcome__feature > div > span:not(.nv-welcome__tag),
[data-theme="light"] .nv-welcome__trust li {
  color: #475569;
}

/* line 701, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__counter,
[data-theme="light"] .nv-welcome__hint,
[data-theme="light"] .nv-welcome__note,
[data-theme="light"] .nv-welcome__card-note,
[data-theme="light"] .nv-welcome__stay-free p {
  color: #64748b;
}

/* line 707, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__chips li,
[data-theme="light"] .nv-welcome__checklist li {
  color: #1e293b;
}

/* line 710, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__chips li,
[data-theme="light"] .nv-welcome__step-card,
[data-theme="light"] .nv-welcome__checklist li,
[data-theme="light"] .nv-welcome__feature {
  background: rgba(15, 23, 42, 0.03);
  border-color: rgba(15, 23, 42, 0.08);
}

/* line 718, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__progress {
  background: rgba(15, 23, 42, 0.06);
}

/* line 719, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__top {
  background: linear-gradient(180deg, #ffffff 70%, rgba(255, 255, 255, 0));
}

/* line 720, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__nav {
  background: linear-gradient(0deg, #ffffff 72%, rgba(255, 255, 255, 0));
}

/* line 721, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__eyebrow {
  color: #a97832;
}

/* line 722, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__eyebrow--free,
[data-theme="light"] .nv-welcome__eyebrow--trial,
[data-theme="light"] .nv-welcome__checklist i,
[data-theme="light"] .nv-welcome__trust i {
  color: #15803d;
}

/* line 726, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__chips i,
[data-theme="light"] .nv-welcome__step-icon,
[data-theme="light"] .nv-welcome__feature-icon {
  color: #a97832;
}

/* line 730, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__skip {
  color: #1e293b;
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.14);
}

/* line 731, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__close {
  color: #475569;
}

/* line 732, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__close:hover {
  background: rgba(15, 23, 42, 0.06);
  color: #111825;
}

/* line 733, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__btn--outline {
  color: #a97832;
  border-color: rgba(169, 120, 50, 0.55);
}

/* line 734, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__btn--ghost {
  color: #111825;
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.16);
}

/* line 735, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__nav-back {
  color: #1e293b;
  border-color: rgba(15, 23, 42, 0.14);
}

/* line 736, app/assets/stylesheets/welcome_onboarding.scss */
[data-theme="light"] .nv-welcome__dot {
  background: rgba(15, 23, 42, 0.16);
}
/*
 * Master stylesheet bundle — loads all CSS in one request to prevent FOUC.
 *




































 */
