/* 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 167, 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 177, 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 189, app/assets/stylesheets/theme_variables.scss */
.slider.round {
  border-radius: 24px;
}

/* line 192, app/assets/stylesheets/theme_variables.scss */
.slider.round:before {
  border-radius: 50%;
}
/*
 * 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,
body.is-signed-in .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 1225, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-personal {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 640px;
  margin: -16px auto 36px;
  font-size: 0.85rem;
  color: #94a3b8;
  text-align: center;
}

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

/* line 1241, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-personal a {
  color: #cc903c;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
}

/* line 1247, app/assets/stylesheets/landing_v3.scss */
.v3-b2b-personal a:hover {
  text-decoration: underline;
}

/* line 1253, 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 1263, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
  }
  /* line 1267, app/assets/stylesheets/landing_v3.scss */
  .v3-solution {
    height: 300vh;
  }
  /* line 1271, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  /* line 1277, app/assets/stylesheets/landing_v3.scss */
  .v3-device-mockup {
    max-width: 500px;
  }
  /* line 1281, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-steps {
    position: relative;
    min-height: 200px;
  }
  /* line 1286, app/assets/stylesheets/landing_v3.scss */
  .v3-stats-row {
    gap: 24px;
  }
  /* line 1290, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-cards {
    max-width: 680px;
  }
  /* line 1294, app/assets/stylesheets/landing_v3.scss */
  .v3-faq-grid {
    gap: 16px;
  }
}

@media (max-width: 767px) {
  /* line 1303, app/assets/stylesheets/landing_v3.scss */
  .v3-hero {
    padding: 0 16px;
    min-height: 100svh;
  }
  /* line 1308, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-title {
    font-size: clamp(2.2rem, 9vw, 3.5rem);
  }
  /* line 1312, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-cta {
    flex-direction: column;
    gap: 12px;
  }
  /* line 1316, app/assets/stylesheets/landing_v3.scss */
  .v3-hero-cta a {
    width: 100%;
    justify-content: center;
  }
  /* line 1322, app/assets/stylesheets/landing_v3.scss */
  .v3-scroll-indicator {
    bottom: 24px;
  }
  /* line 1327, app/assets/stylesheets/landing_v3.scss */
  .v3-problem {
    min-height: auto;
    padding: 80px 16px;
  }
  /* line 1332, app/assets/stylesheets/landing_v3.scss */
  .v3-problem-sticky {
    position: relative;
    height: auto;
  }
  /* line 1337, app/assets/stylesheets/landing_v3.scss */
  .v3-stat-big {
    font-size: clamp(3rem, 15vw, 5rem);
  }
  /* line 1341, app/assets/stylesheets/landing_v3.scss */
  .v3-problem-lines p {
    font-size: clamp(1.2rem, 5vw, 1.8rem);
  }
  /* line 1346, app/assets/stylesheets/landing_v3.scss */
  .v3-solution {
    padding: 60px 16px;
    height: auto;
  }
  /* line 1351, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-pin {
    height: auto;
    padding: 0;
    flex-direction: column;
  }
  /* line 1357, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  /* line 1362, app/assets/stylesheets/landing_v3.scss */
  .v3-device-mockup {
    max-width: 100%;
  }
  /* line 1366, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-steps {
    position: relative;
    min-height: auto;
  }
  /* line 1371, 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 1381, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-step:last-child {
    margin-bottom: 0;
  }
  /* line 1386, app/assets/stylesheets/landing_v3.scss */
  .v3-solution-progress {
    display: none;
  }
  /* line 1391, app/assets/stylesheets/landing_v3.scss */
  .v3-stats-row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  /* line 1397, app/assets/stylesheets/landing_v3.scss */
  .v3-ticker-wrap {
    display: none;
  }
  /* line 1402, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-cards {
    gap: 10px;
    padding: 0 12px;
  }
  /* line 1407, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card {
    flex: 0 1 calc(50% - 5px);
  }
  /* line 1411, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card {
    padding: 14px;
    border-radius: 12px;
  }
  /* line 1415, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-icon {
    font-size: 0.9rem;
    margin-bottom: 6px;
  }
  /* line 1416, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-label {
    font-size: 0.65rem;
  }
  /* line 1417, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-value {
    font-size: 0.85rem;
  }
  /* line 1418, app/assets/stylesheets/landing_v3.scss */
  .v3-proof-card .card-badge {
    font-size: 0.6rem;
    padding: 2px 6px;
  }
  /* line 1422, app/assets/stylesheets/landing_v3.scss */
  .v3-btn-magnetic {
    padding: 16px 36px;
    font-size: 1rem;
  }
  /* line 1428, app/assets/stylesheets/landing_v3.scss */
  .v3-faq-grid {
    grid-template-columns: 1fr;
  }
  /* line 1433, app/assets/stylesheets/landing_v3.scss */
  .v3-b2b-cta {
    flex-direction: column;
    align-items: center;
  }
  /* line 1438, app/assets/stylesheets/landing_v3.scss */
  .v3-b2b-features {
    flex-direction: column;
    align-items: center;
  }
}

/* line 1447, 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 1455, app/assets/stylesheets/landing_v3.scss */
.v3-features-header {
  text-align: center;
  margin-bottom: 72px;
}

/* line 1460, 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 1476, 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 1483, app/assets/stylesheets/landing_v3.scss */
.v3-features-subtitle {
  font-size: 1.05rem;
  color: #94a3b8;
  max-width: 500px;
  margin: 0 auto;
}

/* line 1490, 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 1498, 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 1505, 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 1512, app/assets/stylesheets/landing_v3.scss */
.v3-feature-visual {
  padding: 24px 24px 0;
}

/* line 1516, 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 1523, 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 1531, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}

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

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

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

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

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

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

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

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

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

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

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

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

/* line 1585, 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 1595, app/assets/stylesheets/landing_v3.scss */
.v3-mini-val {
  font-size: 0.8rem;
  font-weight: 600;
  color: #e2e8f0;
}

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

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

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

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

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

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

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

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

/* line 1642, 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 1651, app/assets/stylesheets/landing_v3.scss */
.v3-signal-ticker {
  font-size: 0.72rem;
  font-weight: 600;
  color: #e2e8f0;
  min-width: 32px;
}

/* line 1658, 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 1667, 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 1674, app/assets/stylesheets/landing_v3.scss */
.v3-signal-badge.buy {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

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

/* line 1685, 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 1694, 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 1700, app/assets/stylesheets/landing_v3.scss */
.v3-signal-bar-fill.sell {
  background: linear-gradient(90deg, #d0655c, #cc903c);
}

/* line 1703, 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 1713, 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 1723, app/assets/stylesheets/landing_v3.scss */
.v3-mockup-chart-analysis svg {
  width: 100%;
  height: 130px;
  margin-bottom: 8px;
}

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

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

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

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

/* line 1755, 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 1763, app/assets/stylesheets/landing_v3.scss */
.v3-chart-signal-long i {
  margin-right: 3px;
  font-size: 0.5rem;
}

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

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

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

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

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

/* line 1800, 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 1809, 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 1815, app/assets/stylesheets/landing_v3.scss */
.v3-sim-badge-winner {
  font-size: 0.55rem;
  color: #cc903c;
}

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

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

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

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

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

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

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

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

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

/* line 1875, 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 1888, app/assets/stylesheets/landing_v3.scss */
.v3-feature-name {
  font-size: 1.15rem;
  font-weight: 600;
  color: #f7f6f4;
  margin: 0;
}

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

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

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

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

/* line 1951, 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 1969, app/assets/stylesheets/landing_v3.scss */
.v3-reviews-bandeau {
  padding: 48px 0;
  overflow: hidden;
  position: relative;
}

/* line 1975, 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 1983, 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 1990, 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 2000, 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 2013, app/assets/stylesheets/landing_v3.scss */
.v3-review-card:hover {
  border-color: rgba(255, 255, 255, 0.2);
}

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

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

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

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

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

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

/* line 2096, 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 2107, 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 2115, 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 2124, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .status-pill.hit {
  color: #57c79a;
}

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

/* line 2136, 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 2145, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-feature,
.landing-v3 .pricing-description {
  font-weight: 400;
}

/* line 2151, 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 2159, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .stock-symbol,
.landing-v3 .col-stock .stock-symbol,
.landing-v3 .tr-value {
  font-weight: 600;
}

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

/* line 2176, 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 2182, 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 2188, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-feature-icon,
.landing-v3 .pricing-check {
  color: #57c79a;
}

/* line 2205, 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 2216, 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 2223, 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 2232, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .pricing-toggle-label.active,
.landing-v3 .pricing-plan-name,
.landing-v3 .pricing-amount {
  color: #f7f6f4;
}

/* line 2246, 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 2252, 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 2258, 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 2264, 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 2270, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .row-hit .col-status,
.landing-v3 .row-miss .col-status {
  background: transparent;
}

/* line 2285, 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 2299, app/assets/stylesheets/landing_v3.scss */
.landing-v3 .launch-promo-content {
  gap: 10px 14px;
  padding-right: 24px;
}

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

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

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

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

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

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

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

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

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

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

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

/* line 2373, 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 2396, 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 2405, 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 2421, 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 2429, 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 2445, 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 2455, 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 2465, 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 2476, app/assets/stylesheets/landing_v3.scss */
.v3-app-device {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

/* line 2481, 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 2492, app/assets/stylesheets/landing_v3.scss */
.v3-app-device:first-child:not(:last-child) {
  transform: translateY(26px);
}

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

/* ---- Store buttons ---- */
/* line 2502, 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 2512, 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 2525, app/assets/stylesheets/landing_v3.scss */
.v3-store-btn i {
  font-size: 1.6rem;
  line-height: 1;
}

/* line 2530, 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 2538, app/assets/stylesheets/landing_v3.scss */
.v3-store-btn:focus-visible {
  outline: 2px solid rgba(204, 144, 60, 0.7);
  outline-offset: 3px;
}

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

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

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

/* line 2564, 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 2574, app/assets/stylesheets/landing_v3.scss */
  .v3-app {
    padding: 80px 20px 72px;
  }
  /* line 2578, 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 2586, app/assets/stylesheets/landing_v3.scss */
  .v3-app-devices {
    gap: 0;
  }
  /* line 2590, app/assets/stylesheets/landing_v3.scss */
  .v3-app-device img {
    max-width: none;
  }
  /* line 2594, 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 2600, 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 2606, app/assets/stylesheets/landing_v3.scss */
  .v3-app-device:only-child {
    flex: 0 0 78%;
  }
  /* line 2610, app/assets/stylesheets/landing_v3.scss */
  .v3-app-stores {
    margin-top: 36px;
  }
  /* line 2614, 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 2622, app/assets/stylesheets/landing_v3.scss */
  .v3-store-btn {
    transition: none;
  }
  /* line 2625, app/assets/stylesheets/landing_v3.scss */
  .v3-store-btn:hover, .v3-store-btn:focus-visible {
    transform: none;
  }
}

/* line 2643, app/assets/stylesheets/landing_v3.scss */
.nv-cta-store i {
  font-size: 1.2em;
}

/* line 2649, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 950;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(0, 6, 21, 0.94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(247, 246, 244, 0.08);
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.35);
  transform: translateY(110%);
  transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* line 2668, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app.est-visible {
  transform: none;
}

/* line 2673, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app__icone {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

/* line 2680, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app__texte {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}

/* line 2687, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app__nom {
  color: #f7f6f4;
  font-size: 0.95rem;
  font-weight: 600;
}

/* line 2693, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app__gratuit {
  color: rgba(247, 246, 244, 0.6);
  font-size: 0.78rem;
}

/* line 2699, app/assets/stylesheets/landing_v3.scss */
.nv-barre-app__bouton {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-left: auto;
  padding: 0 20px;
  border-radius: 999px;
  background: #cc903c;
  color: #000615;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
}

/* line 2715, app/assets/stylesheets/landing_v3.scss */
body:has(.nv-barre-app) {
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
}

@media (prefers-reduced-motion: reduce) {
  /* line 2720, app/assets/stylesheets/landing_v3.scss */
  .nv-barre-app {
    transition: 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 1071, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .page-hero-bg {
  pointer-events: none;
}

/* line 1075, 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 1082, 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 1087, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 a:hover {
  color: #cc903c;
}

/* line 1092, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 .separator {
  color: rgba(255, 255, 255, 0.5);
}

/* line 1096, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .breadcrumb-v2 .current {
  color: rgba(255, 255, 255, 0.7);
}

/* line 1101, 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 1112, 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 1121, 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 1128, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-meta-v2 span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 1133, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .article-meta-v2 span i {
  color: #cc903c;
}

/* line 1139, 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 1147, 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 1153, app/assets/stylesheets/pages_v2.scss */
.blog-article-hero-v2 .featured-image-v2 img {
  width: 100%;
  height: auto;
}

/* line 1161, 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 1168, 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 1173, 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 1180, 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 1186, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content h3 {
  font-size: 1.4rem;
}

/* line 1190, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content p {
  margin-bottom: 1.5rem;
}

/* line 1194, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content a {
  color: #cc903c;
  text-decoration: underline;
}

/* line 1199, 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 1203, 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 1208, 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 1216, 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 1223, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}

/* line 1228, 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 1234, 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 1241, 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 1248, 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 1255, app/assets/stylesheets/pages_v2.scss */
.blog-article-content-v2 .article-body-content pre code {
  background: none;
  padding: 0;
}

/* line 1264, 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 1269, app/assets/stylesheets/pages_v2.scss */
.article-tags-v2 h4 {
  color: #f7f6f4;
  margin-bottom: 12px;
  font-size: 1rem;
}

/* line 1275, app/assets/stylesheets/pages_v2.scss */
.article-tags-v2 .tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 1280, 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 1292, 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 1302, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-actions {
  display: flex;
  gap: 12px;
}

/* line 1306, 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 1319, 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 1327, 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 1335, 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 1344, app/assets/stylesheets/pages_v2.scss */
.article-footer-v2 .article-author-box .author-info h5 {
  color: #f7f6f4;
  margin-bottom: 4px;
  font-size: 1rem;
}

/* line 1350, 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 1360, app/assets/stylesheets/pages_v2.scss */
.related-articles-v2 {
  margin-top: 60px;
}

/* line 1363, app/assets/stylesheets/pages_v2.scss */
.related-articles-v2 .section-title {
  color: #f7f6f4;
  font-size: 1.5rem;
  margin-bottom: 24px;
}

/* line 1371, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
}

/* line 1377, 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 1386, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link:hover {
  background: rgba(204, 144, 60, 0.1);
  border-color: #cc903c;
  color: #cc903c;
}

/* line 1392, 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 1398, app/assets/stylesheets/pages_v2.scss */
.pagination-v2 .page-link.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  /* line 1407, app/assets/stylesheets/pages_v2.scss */
  .blog-hero-v2 {
    padding: 120px 0 40px;
  }
  /* line 1411, app/assets/stylesheets/pages_v2.scss */
  .blog-article-content-v2 {
    padding: 24px;
  }
  /* line 1415, app/assets/stylesheets/pages_v2.scss */
  .article-footer-v2 {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 1420, app/assets/stylesheets/pages_v2.scss */
  .blog-sidebar-v2 {
    position: static;
    margin-top: 40px;
  }
  /* line 1425, app/assets/stylesheets/pages_v2.scss */
  .section-title-v2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
  }
  /* line 1431, app/assets/stylesheets/pages_v2.scss */
  .pagination-v2 {
    gap: 4px;
    margin-top: 24px;
    flex-wrap: wrap;
  }
  /* line 1436, 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;
}

@media (max-width: 1024px) {
  /* line 439, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-grid {
    grid-template-columns: auto 1fr 1fr auto;
    gap: 0.5rem 0.75rem;
  }
  /* line 444, 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 457, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-bloc {
    border-radius: var(--radius-md, 8px);
    margin: 0 -0.25rem 0.75rem;
  }
  /* line 462, 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 470, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-level-switch {
    width: auto;
    margin-left: auto;
    padding: 2px;
    gap: 2px;
  }
  /* line 477, app/assets/stylesheets/shared/_trade_plan.scss */
  .level-btn {
    padding: 0.25rem 0.4rem;
    font-size: 0.55rem;
  }
  /* line 480, app/assets/stylesheets/shared/_trade_plan.scss */
  .level-btn i {
    font-size: 0.5rem;
  }
  /* line 483, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-content {
    padding: 0.5rem 0.75rem;
  }
  /* line 487, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-grid {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  /* line 493, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col {
    width: 100%;
  }
  /* line 497, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col.action-col {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
  }
  /* line 504, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col.action-col .trade-plan-col-label {
    display: none;
  }
  /* line 506, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-entry,
.trade-plan-protection {
    font-size: 0.65rem;
  }
  /* line 511, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
  /* line 517, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-levels-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 522, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-rationale {
    font-size: 0.6rem;
  }
}

@media (max-width: 390px) {
  /* line 531, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-grid {
    grid-template-columns: 1fr;
  }
  /* line 535, app/assets/stylesheets/shared/_trade_plan.scss */
  .trade-plan-col {
    grid-column: 1 !important;
  }
  /* line 539, 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 645, app/assets/stylesheets/shared/_action_graph.scss */
#action-graph-wrapper.hide-done .ag-action-node.is-done {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 777, 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 .summary-value-pct {
  margin-left: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  opacity: 0.85;
}

/* line 696, 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 702, 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 709, 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 722, 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 734, 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 754, 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 759, app/assets/stylesheets/dashboard.scss */
.portfolio-summary-bar .summary-item .summary-action-btn i {
  font-size: 0.65rem;
  line-height: 1;
}

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

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

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

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

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

/* line 804, 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 812, 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 822, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem;
  }
  /* line 827, 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 836, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item.total-value, .portfolio-summary-bar .summary-item.performance {
    padding-right: 1.25rem;
  }
  /* line 841, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
  /* line 846, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.8rem;
  }
  /* line 852, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.95rem;
  }
  /* line 856, 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 859, 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 866, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.6rem;
  }
  /* line 871, 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 879, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn i {
    font-size: 0.55rem;
  }
  /* line 885, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-divider {
    display: none;
  }
}

@media (max-width: 575px) {
  /* line 893, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.3rem;
    padding: 0.35rem;
  }
  /* line 899, 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 909, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item.total-value, .portfolio-summary-bar .summary-item.performance {
    padding-right: 1rem;
  }
  /* line 914, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 6px;
  }
  /* line 920, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-icon i {
    font-size: 0.65rem;
  }
  /* line 925, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content {
    overflow: hidden;
  }
  /* line 928, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value {
    font-size: 0.8rem;
  }
  /* line 932, 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 935, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-value .portfolio-total-multi-currency .total-breakdown {
    display: none;
  }
  /* line 941, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-content .summary-label {
    font-size: 0.55rem;
    letter-spacing: 0.2px;
  }
  /* line 947, 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 956, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-item .summary-action-btn i {
    font-size: 0.45rem;
  }
  /* line 962, app/assets/stylesheets/dashboard.scss */
  .portfolio-summary-bar .summary-divider {
    display: none;
  }
}

/* line 969, 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 982, 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 989, app/assets/stylesheets/dashboard.scss */
.dashboard-container .summary-card {
  overflow: hidden;
}

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

/* line 1019, 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,
.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 1036, 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,
.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 1042, 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,
.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 1050, 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,
.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 1055, 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,
.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 1063, 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,
.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 1072, 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,
.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 1081, 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 1100, 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 1106, app/assets/stylesheets/dashboard.scss */
.summary-card .reset-baseline-btn-corner i {
  font-size: 0.6rem;
}

/* line 1112, 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 1131, 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 1137, app/assets/stylesheets/dashboard.scss */
.summary-card .portfolio-history-btn-corner i {
  font-size: 0.6rem;
}

/* line 1142, 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 1153, 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 1167, 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 1172, app/assets/stylesheets/dashboard.scss */
  .summary-card:hover::after {
    opacity: 1;
  }
}

/* line 1178, 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 1189, app/assets/stylesheets/dashboard.scss */
.summary-card .card-icon i {
  font-size: 1.25rem;
}

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

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

@media (hover: hover) {
  /* line 1219, 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 1225, app/assets/stylesheets/dashboard.scss */
.summary-card .card-content {
  text-align: center;
}

/* line 1228, 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 1236, 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 1245, 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 1254, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.15rem;
    margin: 0 0 0.2rem 0;
  }
  /* line 1259, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.6rem;
    margin: 0;
  }
  /* line 1264, 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 1272, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content h3 {
    font-size: 1.1rem;
    margin: 0 0 0.15rem 0;
  }
  /* line 1277, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content p {
    font-size: 0.55rem;
  }
  /* line 1281, app/assets/stylesheets/dashboard.scss */
  .summary-card .card-content small.performance-detail {
    font-size: 0.5rem;
  }
}

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

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

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

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

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

/* line 1365, 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 1377, 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 1387, app/assets/stylesheets/dashboard.scss */
.summary-card.total-value .card-icon {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

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

/* line 1403, 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 1403, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency .total-primary {
    font-size: 0.75rem;
    line-height: 1.05;
  }
}

/* line 1415, 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 1415, app/assets/stylesheets/dashboard.scss */
  .summary-card .portfolio-total-multi-currency .total-breakdown {
    font-size: 0.42rem;
    line-height: 1.05;
  }
}

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

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

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

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

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

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

/* line 1502, 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 1510, 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 1522, 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 1529, app/assets/stylesheets/dashboard.scss */
.section-header .btn i {
  margin-right: 0.5rem;
}

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

/* line 1544, 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 1558, app/assets/stylesheets/dashboard.scss */
.stocks-table thead {
  background: var(--bg-table-header, rgba(21, 29, 44, 0.8));
}

/* line 1561, 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 1574, app/assets/stylesheets/dashboard.scss */
.stocks-table thead th:first-child {
  border-left: 4px solid transparent;
  border-top-left-radius: 16px;
}

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

/* line 1584, 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 1597, app/assets/stylesheets/dashboard.scss */
.stocks-table tbody {
  background: transparent;
}

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

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

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

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

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

/* line 1628, 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 1642, app/assets/stylesheets/dashboard.scss */
.stock-info {
  text-align: left !important;
}

/* line 1645, 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 1654, 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 1664, 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 1673, 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 1683, app/assets/stylesheets/dashboard.scss */
.price-cell,
.value-cell {
  font-weight: 700;
  color: #f7f6f4;
  font-size: 1.1rem;
  text-align: center;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 1779, 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 1789, 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 1800, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-search input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

/* line 1804, 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 1811, app/assets/stylesheets/dashboard.scss */
.section-header .portfolio-inline-filters .filter-chips {
  display: flex;
  gap: 0.25rem;
}

/* line 1816, 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 1830, 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 1837, 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 1843, 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 1849, 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 1855, 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 1864, app/assets/stylesheets/dashboard.scss */
.portfolio-header-row {
  align-items: center;
  flex-wrap: nowrap;
}

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

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

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

@media (min-width: 1401px) {
  /* line 1885, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input {
    width: 140px;
  }
  /* line 1885, 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 1864, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row {
    gap: 0.5rem;
  }
  /* line 1894, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input {
    width: 90px;
  }
  /* line 1896, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-search input:focus {
    width: 110px;
  }
  /* line 1898, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .portfolio-inline-filters .filter-chip {
    padding: 3px 7px;
    font-size: 0.6rem;
  }
  /* line 1901, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .refresh-status-inline {
    display: none !important;
  }
  /* line 1902, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn .btn-text-hide {
    display: none;
  }
  /* line 1903, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn {
    padding: 0.4rem 0.55rem;
  }
  /* line 1905, app/assets/stylesheets/dashboard.scss */
  .portfolio-header-row .section-actions .btn i {
    margin-right: 0;
  }
}

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

/* line 1930, 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 1937, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search {
  position: relative;
  flex: 0 0 auto;
}

/* line 1941, 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 1951, 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 1962, app/assets/stylesheets/dashboard.scss */
.table-filter-bar .filter-search input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

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

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

/* line 1979, 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 1990, 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 1995, 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 2001, 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 2007, 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 2013, 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 1930, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar {
    flex-wrap: wrap;
    padding: 0.5rem 0;
    gap: 0.5rem;
  }
  /* line 2025, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search {
    flex: 1 1 100%;
    order: -1;
  }
  /* line 2029, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search i {
    font-size: 0.6rem;
    left: 10px;
  }
  /* line 2034, 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 2047, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input::placeholder {
    font-size: 0.75rem;
  }
  /* line 2048, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-search input:focus {
    width: 100%;
    border-color: rgba(204, 144, 60, 0.3);
  }
  /* line 2055, app/assets/stylesheets/dashboard.scss */
  .table-filter-bar .filter-chips {
    flex: 1 1 100%;
    display: flex;
    gap: 0.3rem;
  }
  /* line 2061, 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 2071, 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 2077, app/assets/stylesheets/dashboard.scss */
.sortable-header {
  cursor: pointer;
  user-select: none;
  transition: color 0.15s;
}

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

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

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

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

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

/* line 2106, 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 2115, app/assets/stylesheets/dashboard.scss */
.table-empty-filter i {
  font-size: 1.3rem;
  opacity: 0.4;
}

/* line 2120, 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 2131, 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 2139, 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 2149, app/assets/stylesheets/dashboard.scss */
.intraday-change {
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1px;
  cursor: help;
}

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

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

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

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

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

/* line 2178, 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 2185, 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 2178, app/assets/stylesheets/dashboard.scss */
  .eod-reference {
    font-size: 0.5rem;
  }
  /* line 2196, app/assets/stylesheets/dashboard.scss */
  .eod-reference .eod-label {
    font-size: 0.45rem;
  }
}

/* line 2203, 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 2213, app/assets/stylesheets/dashboard.scss */
.pre-market-up {
  color: #4ade80;
  background: rgba(74, 222, 128, 0.12);
}

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

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

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

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

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

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

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

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

/* line 2281, 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 2289, 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 2301, app/assets/stylesheets/dashboard.scss */
.empty-state .empty-icon i {
  font-size: 1.5rem;
  color: #cc903c;
}

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

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

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

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

@media (max-width: 575px) {
  /* line 2346, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.4rem;
    padding-top: 0.4rem;
  }
  /* line 2354, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  /* line 2361, 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 2375, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-3::-webkit-scrollbar {
    display: none;
  }
  /* line 2379, 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 2390, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0;
    height: auto;
    min-height: 65px;
    max-height: 70px;
    overflow: hidden;
  }
  /* line 2398, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.85rem !important;
    line-height: 1.1 !important;
  }
  /* line 2403, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2407, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2413, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2419, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    display: none !important;
  }
  /* line 2423, app/assets/stylesheets/dashboard.scss */
  .refresh-status-component .refresh-status-text {
    display: none !important;
  }
  /* line 2427, 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 2434, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 60px;
    gap: 0.15rem;
  }
  /* line 2438, 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 2446, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.1rem !important;
  }
  /* line 2447, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.5rem !important;
    max-width: 52px !important;
  }
  /* line 2448, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 7px !important;
    height: 7px !important;
    transform: translateX(21px) !important;
  }
  /* line 2452, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn-form {
    display: block !important;
    width: 34px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
  }
  /* line 2459, 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 2466, 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 2478, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn i {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 2483, app/assets/stylesheets/dashboard.scss */
  .mobile-icon-btn .btn-text-hide {
    display: none !important;
  }
  /* line 2489, app/assets/stylesheets/dashboard.scss */
  .summary-item.stock-count,
.summary-item.last-updated,
.summary-divider.d-none-mobile {
    display: none !important;
  }
  /* line 2501, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 2505, 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 2511, 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 2516, 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 2524, 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 2525, 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 2531, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 2534, 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 2538, 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 2545, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 2548, 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 2550, 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 2551, 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 2555, 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 2556, 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 2559, 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 2564, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 2567, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.55rem !important;
  }
  /* line 2567, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.55rem !important;
  }
  /* line 2568, 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 2569, 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 2569, 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 2573, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 2576, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.55rem !important;
  }
  /* line 2576, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.6rem !important;
  }
  /* line 2577, 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 2578, 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 2583, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 2595, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.4rem !important;
    width: 100% !important;
  }
  /* line 2600, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2604, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2608, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-link i {
    margin-right: 4px !important;
  }
  /* line 2613, 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 2626, 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 2633, 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 2653, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    margin-right: 0 !important;
  }
  /* line 2657, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-full {
    display: none !important;
  }
  /* line 2661, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link .tab-text-mobile {
    display: inline !important;
  }
  /* line 2665, 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 2670, 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 2678, 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 2686, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs:has(.nav-item:nth-child(4)) {
    flex-wrap: wrap !important;
  }
  /* line 2689, 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 2696, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs {
    flex-wrap: nowrap !important;
  }
  /* line 2699, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-item {
    flex: 1 !important;
    max-width: none !important;
  }
  /* line 2704, 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 2712, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 2717, 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 2730, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link.active .tab-label {
    opacity: 1 !important;
    font-weight: 600 !important;
  }
  /* line 2741, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 2744, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .section-header .section-actions {
    width: auto !important;
    flex: 0 0 auto !important;
  }
  /* line 2754, 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 2758, 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 2767, 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 2776, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.7rem !important;
    margin: 0 !important;
  }
  /* line 2783, app/assets/stylesheets/dashboard.scss */
  .event-field .row {
    flex-direction: column !important;
  }
  /* line 2786, app/assets/stylesheets/dashboard.scss */
  .event-field .row > [class*="col-"] {
    max-width: 100% !important;
    margin-bottom: 0.75rem;
  }
  /* line 2795, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row {
    flex-direction: column !important;
  }
  /* line 2798, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .row > [class*="col-"] {
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 0.5rem;
  }
  /* line 2805, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 250px !important;
    overflow-y: auto !important;
  }
  /* line 2809, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item {
    padding: 0.75rem !important;
    font-size: 0.85rem !important;
  }
  /* line 2813, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-symbol {
    font-size: 0.9rem !important;
  }
  /* line 2817, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group .list-group-item .stock-name {
    font-size: 0.8rem !important;
  }
  /* line 2821, 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 2832, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 1rem;
    padding-top: 0.75rem;
  }
  /* line 2837, app/assets/stylesheets/dashboard.scss */
  .refresh-btn {
    margin-top: 0;
    width: auto;
  }
  /* line 2843, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.75rem;
  }
  /* line 2847, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1rem !important;
  }
  /* line 2851, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 2855, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 2861, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 2867, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
  /* line 2873, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.15rem !important;
    margin-bottom: 0.1rem !important;
  }
  /* line 2878, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
  }
  /* line 2884, 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 2890, 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 2897, 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 2909, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.75rem;
  }
  /* line 2912, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.5rem 0.25rem !important;
    font-size: 0.65rem !important;
    white-space: nowrap;
  }
  /* line 2918, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.25rem !important;
    vertical-align: middle;
  }
  /* line 2925, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.3rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 2929, 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 2934, 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 2939, 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 2948, 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 2957, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 2965, 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 2970, 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 2974, 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 2979, 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 2986, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.5rem 0.25rem !important;
  }
  /* line 2993, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 2996, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.65rem !important;
  }
  /* line 3004, 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 3008, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: none;
  }
  /* line 3012, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    margin: 0 !important;
    font-size: 0.6rem !important;
  }
  /* line 3021, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.7rem !important;
  }
  /* line 3025, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.5rem !important;
  }
  /* line 3030, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.7rem !important;
  }
  /* line 3033, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell .currency-symbol, .stocks-table .value-cell .currency-symbol {
    font-size: 0.55rem !important;
  }
  /* line 3041, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
  }
  /* line 3045, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3050, 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 3060, 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 3069, 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 3079, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.3rem !important;
  }
  /* line 3082, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.3rem !important;
  }
  /* line 3085, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 3089, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.65rem !important;
  }
  /* line 3097, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 60px;
  }
  /* line 3107, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1rem !important;
    width: 100% !important;
  }
  /* line 3111, 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 3124, 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 3131, 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 3150, 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 3155, 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 3163, 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 3176, 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 3184, 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 3192, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs.account-nav-tabs .nav-link i {
    font-size: 1.05rem !important;
    margin: 0 !important;
  }
  /* line 3197, 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 3210, 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 3220, app/assets/stylesheets/dashboard.scss */
  .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 3224, 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 3236, 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 3240, 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 3249, 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 3258, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 3267, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 300px !important;
    overflow-y: auto !important;
  }
  /* line 3271, 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 3283, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3289, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  /* line 3294, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.6rem !important;
  }
  /* line 3298, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.5rem !important;
  }
  /* line 3302, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.75rem !important;
    gap: 0.4rem !important;
  }
  /* line 3307, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.65rem !important;
  }
  /* line 3311, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.4rem 0 !important;
    gap: 0.5rem !important;
  }
  /* line 3316, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.7rem !important;
  }
  /* line 3320, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 3325, 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 3331, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 3337, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 0.5rem;
    padding: 0.5rem !important;
  }
  /* line 3342, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 0.95rem !important;
  }
  /* line 3346, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 3350, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 3356, 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 3363, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.1rem !important;
  }
  /* line 3367, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.75rem !important;
    display: none !important;
  }
  /* line 3374, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.3rem !important;
  }
  /* line 3378, 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 3386, 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 3392, 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 3399, 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 3405, 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 3419, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  /* line 3424, 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 3434, 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 3439, 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 3440, 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 3441, 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 3442, 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 3443, 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 3444, 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 3445, 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 3446, 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 3447, 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 3448, 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 3449, 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 3452, 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 3459, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3464, 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 3481, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 3486, 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 3503, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.4rem 0.2rem !important;
    vertical-align: middle;
  }
  /* line 3509, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell {
    padding: 0.2rem !important;
    text-align: center !important;
  }
  /* line 3513, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.3rem 0.4rem !important;
    min-width: unset !important;
  }
  /* line 3517, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai i {
    font-size: 0.6rem !important;
  }
  /* line 3518, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3519, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .chevron-icon {
    display: none !important;
  }
  /* line 3524, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.15rem !important;
  }
  /* line 3527, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.2rem !important;
  }
  /* line 3530, 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 3536, 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 3551, 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 3561, 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 3569, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem !important;
  }
  /* line 3574, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-name-row {
    display: flex !important;
  }
  /* line 3577, 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 3587, 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 3591, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.08rem !important;
  }
  /* line 3592, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none !important;
  }
  /* line 3600, 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 3605, 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 3611, 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 3620, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.35rem !important;
    padding: 0.08rem 0.15rem !important;
  }
  /* line 3627, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.1rem !important;
  }
  /* line 3630, 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 3635, 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 3642, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.08rem !important;
  }
  /* line 3645, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.5rem !important;
  }
  /* line 3646, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.45rem !important;
  }
  /* line 3647, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.4rem !important;
  }
  /* line 3648, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.35rem !important;
  }
  /* line 3653, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.55rem !important;
  }
  /* line 3654, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 3658, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols {
    gap: 0.1rem !important;
  }
  /* line 3661, 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 3665, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols {
    gap: 0.15rem !important;
  }
  /* line 3669, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.15rem !important;
  }
  /* line 3671, 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 3672, 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 3674, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.15rem !important;
  }
  /* line 3676, 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 3677, 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 3685, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.15rem !important;
  }
  /* line 3689, 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 3696, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.4rem !important;
  }
  /* line 3701, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.15rem 0.25rem !important;
    font-size: 0.5rem !important;
  }
  /* line 3707, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.45rem !important;
  }
  /* line 3711, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    display: none !important;
  }
  /* line 3716, 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 3721, 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 3724, 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 3728, 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 3735, app/assets/stylesheets/dashboard.scss */
  .stocks-table .medium-term-cell {
    padding: 0.4rem 0.2rem !important;
  }
  /* line 3742, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.15rem !important;
  }
  /* line 3745, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.55rem !important;
  }
  /* line 3753, 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 3757, 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 3762, 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 3771, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.6rem !important;
  }
  /* line 3775, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.45rem !important;
  }
  /* line 3780, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.6rem !important;
  }
  /* line 3784, 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 3792, 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 3801, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 3805, 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 3815, 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 3824, 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 3836, 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 3852, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container {
    gap: 0.25rem !important;
  }
  /* line 3855, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.25rem !important;
  }
  /* line 3858, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-label {
    font-size: 0.5rem !important;
  }
  /* line 3862, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 3870, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 55px;
  }
  /* line 3880, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 0.75rem !important;
    width: 100% !important;
  }
  /* line 3884, 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 3897, 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 3904, 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 3923, 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 3928, 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 3936, 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 3949, 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 3963, app/assets/stylesheets/dashboard.scss */
  .dashboard-container {
    padding: 0 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 3969, app/assets/stylesheets/dashboard.scss */
  .watch-lists-container {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }
  /* line 3974, app/assets/stylesheets/dashboard.scss */
  .watch-list-card {
    padding: 0.85rem !important;
  }
  /* line 3978, app/assets/stylesheets/dashboard.scss */
  .watch-list-header {
    margin-bottom: 0.75rem !important;
  }
  /* line 3982, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title {
    font-size: 0.9rem !important;
    gap: 0.5rem !important;
  }
  /* line 3987, app/assets/stylesheets/dashboard.scss */
  .watch-list-header .watch-title i {
    font-size: 0.8rem !important;
  }
  /* line 3991, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-item {
    padding: 0.6rem 0 !important;
    gap: 0.6rem !important;
  }
  /* line 3996, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-icon {
    font-size: 0.75rem !important;
  }
  /* line 4000, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text {
    font-size: 0.6rem !important;
    line-height: 1.3 !important;
  }
  /* line 4005, 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 4011, app/assets/stylesheets/dashboard.scss */
  .watch-list-content .watch-text span {
    font-size: 0.55rem !important;
    line-height: 1.3 !important;
  }
  /* line 4017, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
  }
  /* line 4021, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content h3 {
    font-size: 1.1rem !important;
  }
  /* line 4025, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content p {
    display: none !important;
  }
  /* line 4029, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .card-content .performance-detail {
    display: none !important;
  }
  /* line 4035, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card .reset-baseline-btn-corner {
    opacity: 0 !important;
    pointer-events: auto !important;
  }
  /* line 4041, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  /* line 4047, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title h2 {
    font-size: 1.25rem !important;
  }
  /* line 4051, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-title p {
    font-size: 0.8rem !important;
  }
  /* line 4057, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header .section-actions .d-flex {
    flex-direction: row !important;
    gap: 0.5rem !important;
  }
  /* line 4061, 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 4069, 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 4075, 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 4082, 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 4088, 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 4100, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 0.8rem;
  }
  /* line 4105, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th {
    padding: 0.6rem 0.35rem !important;
    font-size: 0.7rem !important;
    white-space: nowrap;
  }
  /* line 4111, 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 4118, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(7) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 4123, 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 4140, app/assets/stylesheets/dashboard.scss */
  .stocks-table thead th:nth-child(8) {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative !important;
  }
  /* line 4145, 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 4162, app/assets/stylesheets/dashboard.scss */
  .stocks-table tbody td {
    padding: 0.5rem 0.3rem !important;
    vertical-align: middle;
  }
  /* line 4168, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact {
    gap: 0.2rem !important;
  }
  /* line 4171, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row {
    gap: 0.25rem !important;
  }
  /* line 4174, 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 4179, 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 4184, 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 4192, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem !important;
  }
  /* line 4197, 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 4201, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem !important;
  }
  /* line 4202, 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 4209, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .symbol-container {
    gap: 0.35rem !important;
    flex-wrap: nowrap !important;
  }
  /* line 4213, 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 4218, 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 4227, 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 4236, 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 4245, app/assets/stylesheets/dashboard.scss */
  .stocks-table .stock-info .ai-analysis-badge {
    font-size: 0.45rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  /* line 4252, app/assets/stylesheets/dashboard.scss */
  .stocks-table .signal-cell .signal-display {
    gap: 0.15rem !important;
  }
  /* line 4255, 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 4260, 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 4267, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction {
    gap: 0.1rem !important;
  }
  /* line 4270, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-price {
    font-size: 0.6rem !important;
  }
  /* line 4271, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 4272, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 4273, app/assets/stylesheets/dashboard.scss */
  .stocks-table .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 4278, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .price-container {
    font-size: 0.65rem !important;
  }
  /* line 4279, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 4284, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-shares-inline {
    font-size: 0.6rem !important;
  }
  /* line 4288, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.value-col {
    padding-right: 0.3rem !important;
  }
  /* line 4290, 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 4291, 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 4293, app/assets/stylesheets/dashboard.scss */
  .stocks-table .position-cell .position-two-cols .pos-cols .pos-col.pnl-col {
    padding-left: 0.3rem !important;
  }
  /* line 4295, 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 4296, 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 4303, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-icons {
    gap: 0.2rem !important;
  }
  /* line 4307, 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 4314, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .event-icon i {
    font-size: 0.45rem !important;
  }
  /* line 4319, app/assets/stylesheets/dashboard.scss */
  .stocks-table .chart-cell .btn-stock-chart {
    padding: 0.2rem 0.3rem !important;
    font-size: 0.55rem !important;
  }
  /* line 4325, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.5rem !important;
  }
  /* line 4329, app/assets/stylesheets/dashboard.scss */
  .stocks-table .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.45rem !important;
  }
  /* line 4333, 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 4337, 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 4342, 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 4345, 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 4349, 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 4360, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos {
    gap: 0.2rem !important;
  }
  /* line 4363, app/assets/stylesheets/dashboard.scss */
  .stocks-table .events-cell .events-pictos i {
    font-size: 0.7rem !important;
  }
  /* line 4371, 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 4375, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn .btn-text {
    display: inline;
    font-size: 0.55rem !important;
  }
  /* line 4380, app/assets/stylesheets/dashboard.scss */
  .stocks-table .analysis-toggle-cell .ai-analysis-toggle-btn i {
    font-size: 0.6rem !important;
  }
  /* line 4388, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display .shares-value {
    font-size: 0.75rem !important;
  }
  /* line 4392, app/assets/stylesheets/dashboard.scss */
  .stocks-table .shares-display small {
    font-size: 0.55rem !important;
  }
  /* line 4397, app/assets/stylesheets/dashboard.scss */
  .stocks-table .price-cell, .stocks-table .value-cell {
    font-size: 0.75rem !important;
  }
  /* line 4404, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-cell {
    padding: 0.5rem !important;
    overflow: visible !important;
  }
  /* line 4409, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card {
    padding: 0.5rem !important;
    overflow: visible !important;
    max-height: none !important;
  }
  /* line 4415, 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 4425, 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 4434, 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 4444, 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 4449, 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 4453, 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 4459, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-row .ai-analysis-card .growth-estimates-container .metric-item .metric-value {
    font-size: 0.6rem !important;
  }
  /* line 4467, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 70px;
  }
  /* line 4477, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs {
    margin-bottom: 1.25rem !important;
    width: 100% !important;
  }
  /* line 4481, 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 4488, 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 4494, 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 4505, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link i {
    font-size: 0.9rem !important;
    margin-right: 8px !important;
  }
  /* line 4514, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 4522, 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 4526, 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 4535, 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 4544, app/assets/stylesheets/dashboard.scss */
  .event-field .remove-event i {
    font-size: 0.8rem !important;
    margin: 0 !important;
  }
  /* line 4553, app/assets/stylesheets/dashboard.scss */
  #stock-search-form .list-group {
    max-height: 350px !important;
    overflow-y: auto !important;
  }
  /* line 4557, 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 4571, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .summary-card {
    margin-bottom: 1rem;
    padding: 0.7rem 0.5rem;
    min-height: 115px;
    max-height: 135px;
  }
  /* line 4578, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .section-header {
    gap: 2rem;
  }
  /* line 4582, app/assets/stylesheets/dashboard.scss */
  .stocks-table {
    font-size: 1rem;
  }
  /* line 4585, app/assets/stylesheets/dashboard.scss */
  .stocks-table th, .stocks-table td {
    padding: 1rem 0.75rem;
  }
  /* line 4590, app/assets/stylesheets/dashboard.scss */
  .shares-input .shares-field {
    width: 100px;
  }
  /* line 4596, app/assets/stylesheets/dashboard.scss */
  .dashboard-tabs .nav-tabs .nav-link {
    padding: 12px 20px !important;
    font-size: 0.9rem !important;
    min-height: 48px;
  }
}

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

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

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

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

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

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

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

/* line 4717, 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 4725, 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 4736, 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 4742, 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 4748, app/assets/stylesheets/dashboard.scss */
.data-status-info .status-indicator i {
  font-size: 0.75rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 5030, 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 5035, 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 5043, 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 5049, 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 5055, 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 5060, 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 5067, 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 5072, 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 5084, app/assets/stylesheets/dashboard.scss */
.tldr-cell {
  text-align: center;
  vertical-align: middle;
}

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

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

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

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

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

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

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

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

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

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

/* line 5210, 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 5217, 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 5221, 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 5225, 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 5230, app/assets/stylesheets/dashboard.scss */
.forecast-recommendations .forecast-table tbody td.reason-cell {
  text-align: left;
  max-width: 200px;
}

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

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

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

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

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

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

/* line 5305, 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 5314, 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 5322, 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 5330, 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 5335, 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 5342, 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 5348, 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 5354, 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 5364, 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 5378, 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 5385, app/assets/stylesheets/dashboard.scss */
.no-forecast-data .alert i {
  color: #cc903c;
  margin-right: 0.5rem;
}

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

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

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

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

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

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

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

/* line 5468, 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 5476, 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 5481, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-main-info .portfolio-metrics .metric-item .metric-value.positive {
  color: #22c55e;
}

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

/* line 5489, 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 5496, 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 5501, 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 5510, 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 5515, app/assets/stylesheets/dashboard.scss */
.portfolio-card .portfolio-ai-section .ai-analysis-toggle {
  margin-bottom: 1rem;
}

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

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

/* line 5559, 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 5567, 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 5577, 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 5585, 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 5599, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 5606, 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;
  text-decoration: none;
}

/* line 5623, app/assets/stylesheets/dashboard.scss */
.opportunities-section .btn-opp-generate i {
  font-size: 13px;
}

/* line 5624, 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);
  color: #000;
  text-decoration: none;
}

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

/* line 5639, 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 5653, 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 5661, 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 5670, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-disclaimer i {
  color: rgba(204, 144, 60, 0.7);
  font-size: 11px;
  flex-shrink: 0;
}

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

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

/* line 5704, 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 5713, 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 5728, 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 5735, 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 5745, 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 5756, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-filter-checkbox:hover {
  background: rgba(255, 255, 255, 0.06);
}

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

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

/* line 5775, 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 5783, 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 5793, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.rec-buy {
  border-left: 3px solid #22c55e;
}

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

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

/* line 5799, 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 5807, 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 5819, 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 5825, 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 5831, 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 5838, 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 5844, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero.positive {
  color: #22c55e;
}

/* line 5845, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-return-hero.negative {
  color: #ef4444;
}

/* line 5850, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-strong-signal-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.14);
  border: 1px solid rgba(204, 144, 60, 0.4);
}

/* line 5867, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opportunity-card.is-strong-signal {
  border-color: rgba(204, 144, 60, 0.35);
  box-shadow: 0 0 0 1px rgba(204, 144, 60, 0.12), 0 12px 32px rgba(204, 144, 60, 0.08);
}

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

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

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

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

/* line 5932, 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 5937, 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 5943, 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 5954, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tag.opp-tag-analysis i {
  opacity: 1;
}

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

/* line 5995, 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 6003, 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 6007, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-metric-value.opp-target {
  color: #cc903c;
}

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

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

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

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

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

/* line 6064, 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 6068, 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 6075, 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 6079, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-rationale {
  padding: 12px 16px 14px;
}

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

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

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

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

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

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

/* line 6137, 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 6150, 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 6154, 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 6161, 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 6165, 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 6173, 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 6177, 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 6184, 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 6199, 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 6212, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 60px;
}

/* line 6220, 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 6223, app/assets/stylesheets/dashboard.scss */
.opportunities-section .opp-tr-value.positive {
  color: #22c55e;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 640px) {
  /* line 6329, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 6330, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-header-actions {
    justify-content: stretch;
  }
  /* line 6331, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-generate {
    flex: 1;
    justify-content: center;
  }
  /* line 6332, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .btn-opp-configure {
    justify-content: center;
  }
  /* line 6333, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-top {
    padding: 11px 13px 9px;
  }
  /* line 6334, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.25rem;
  }
  /* line 6335, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-card-identity {
    padding: 10px 13px;
  }
  /* line 6336, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-tags {
    justify-content: flex-start;
  }
  /* line 6337, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metrics-row {
    padding: 10px 13px;
  }
  /* line 6338, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-rationale {
    padding: 10px 13px 13px;
  }
  /* line 6339, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-divider {
    margin: 0 10px;
  }
  /* line 6340, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-name {
    max-width: 140px;
  }
}

@media (max-width: 400px) {
  /* line 6345, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-metric-value {
    font-size: 0.85rem;
  }
  /* line 6346, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-symbol {
    font-size: 1rem;
  }
  /* line 6347, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-return-hero {
    font-size: 1.1rem;
  }
  /* line 6348, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring-wrap {
    width: 40px;
    height: 40px;
  }
  /* line 6349, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-ring {
    width: 40px;
    height: 40px;
  }
  /* line 6350, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opp-confidence-score {
    font-size: 0.72rem;
  }
}

/* line 6356, 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 6370, app/assets/stylesheets/dashboard.scss */
.custom-tooltip .tooltip-arrow::before {
  border-top-color: #1b2333;
}

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

/* line 6401, 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 6407, 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 6424, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn:hover {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.06);
}

/* line 6429, app/assets/stylesheets/dashboard.scss */
.add-stock-table-btn[aria-expanded="true"] {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.06);
}

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

/* line 6440, 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 6446, 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 6455, app/assets/stylesheets/dashboard.scss */
.add-stock-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 6460, app/assets/stylesheets/dashboard.scss */
.add-stock-bar .add-stock-table-btn {
  flex: 1;
  width: auto;
}

/* line 6463, app/assets/stylesheets/dashboard.scss */
.add-stock-import {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  padding-right: 0.5rem;
}

/* line 6471, app/assets/stylesheets/dashboard.scss */
.add-stock-import__label {
  font-size: 0.75rem;
  color: rgba(148, 163, 184, 0.85);
  white-space: nowrap;
}

/* line 6477, app/assets/stylesheets/dashboard.scss */
.btn.add-stock-import__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(204, 144, 60, 0.28);
  background: rgba(204, 144, 60, 0.06);
  color: #e0bc8a;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 6493, app/assets/stylesheets/dashboard.scss */
.btn.add-stock-import__btn i {
  font-size: 0.72rem;
  color: #cc903c;
}

/* line 6495, app/assets/stylesheets/dashboard.scss */
.btn.add-stock-import__btn:hover, .btn.add-stock-import__btn:focus-visible {
  background: rgba(204, 144, 60, 0.14);
  border-color: rgba(204, 144, 60, 0.5);
  color: #f7f6f4;
}

@media (max-width: 991.98px) {
  /* line 6500, app/assets/stylesheets/dashboard.scss */
  .add-stock-bar .add-stock-import__label {
    display: none;
  }
}

/* line 6504, app/assets/stylesheets/dashboard.scss */
.add-stock-mobile-placeholder .add-stock-import {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  padding: 0 0.75rem 0.8rem;
}

/* line 6510, app/assets/stylesheets/dashboard.scss */
.add-stock-mobile-placeholder .add-stock-import .add-stock-import__label {
  display: none;
}

/* line 6512, app/assets/stylesheets/dashboard.scss */
.add-stock-mobile-placeholder .add-stock-import .btn.add-stock-import__btn {
  justify-content: center;
  min-height: 40px;
  margin: 0 !important;
  padding: 0.4rem 0.6rem;
  font-size: 0.8rem;
}

/* line 6516, app/assets/stylesheets/dashboard.scss */
.empty-state-add-stock {
  width: 100%;
  max-width: 560px;
  margin: 1.25rem auto 0;
  text-align: left;
}

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

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

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

/* line 6563, 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 6568, 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 6580, 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 6587, 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 6591, 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 6595, 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 6600, 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 6604, 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 6609, 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 6614, 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 6620, 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 6633, 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 6638, 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 6645, 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 6650, 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 6661, app/assets/stylesheets/dashboard.scss */
.section-actions .d-flex {
  flex-wrap: wrap;
  gap: 0.5rem;
}

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

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

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

/* line 6705, 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 6713, 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 6720, 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 6729, 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 6735, 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 6740, 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 6751, 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 6756, 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 6763, 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 6771, 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 6775, 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 6785, app/assets/stylesheets/dashboard.scss */
.opportunities-preferences .preferences-card .preferences-form .preferences-actions {
  text-align: center;
}

/* line 6788, 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 6798, 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 6809, 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 6815, 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 6823, 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 6831, app/assets/stylesheets/dashboard.scss */
.ai-advice-full-width {
  margin-top: 20px;
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

/* line 6900, 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 6906, 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 6912, 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 6917, 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 6922, 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 6927, 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 6933, app/assets/stylesheets/dashboard.scss */
.stock-events-section .stock-event-card .stock-event-header .event-emoji {
  font-size: 1rem;
}

/* line 6937, 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 6943, 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 6954, 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 6961, 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 6973, 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 6980, 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 6991, app/assets/stylesheets/dashboard.scss */
.stock-name-modal {
  font-size: 0.9rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 7275, 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 7281, 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 7287, 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 7293, 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 7299, 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 7306, 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 7317, 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 7333, app/assets/stylesheets/dashboard.scss */
.calendar-tooltip.visible {
  opacity: 1;
  visibility: visible;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 7489, 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 7497, 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 7508, 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 7516, app/assets/stylesheets/dashboard.scss */
.no-context-message i {
  color: #cc903c;
}

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

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

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

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

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

/* line 7564, 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 7576, app/assets/stylesheets/dashboard.scss */
  .calendar-column {
    padding: 0.75rem;
  }
  /* line 7579, app/assets/stylesheets/dashboard.scss */
  .calendar-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 7584, app/assets/stylesheets/dashboard.scss */
  .context-column {
    padding: 0.75rem;
  }
  /* line 7587, app/assets/stylesheets/dashboard.scss */
  .context-column .section-header-mini h5 {
    font-size: 0.8rem;
  }
  /* line 7593, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 38px;
  }
  /* line 7596, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.6rem;
  }
  /* line 7600, 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 7608, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.45rem;
  }
  /* line 7616, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.75rem;
  }
  /* line 7620, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-text {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  /* line 7626, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 8px;
  }
  /* line 7629, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.6rem;
  }
  /* line 7633, 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 7641, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.4rem;
  }
}

/* Responsive for Calendar Section */
@media (max-width: 767px) {
  /* line 7650, app/assets/stylesheets/dashboard.scss */
  .events-context-section {
    margin-bottom: 1rem;
    width: 100%;
    padding: 0;
  }
  /* line 7656, app/assets/stylesheets/dashboard.scss */
  .events-context-row {
    gap: 0.75rem;
    width: 100%;
  }
  /* line 7661, app/assets/stylesheets/dashboard.scss */
  .calendar-column,
.context-column {
    padding: 0.75rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  /* line 7670, app/assets/stylesheets/dashboard.scss */
  .calendar-container {
    width: 100%;
  }
  /* line 7674, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-header .calendar-title {
    font-size: 0.8rem;
  }
  /* line 7679, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    width: 100%;
  }
  /* line 7686, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.55rem;
    padding: 3px 0;
    text-align: center;
  }
  /* line 7692, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 32px;
    padding: 2px 1px;
    aspect-ratio: unset;
  }
  /* line 7697, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.5rem;
  }
  /* line 7701, 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 7709, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.35rem;
  }
  /* line 7714, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-indicators {
    gap: 1px;
    margin-top: 1px;
  }
  /* line 7721, app/assets/stylesheets/dashboard.scss */
  .calendar-legend {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 8px;
    margin-top: 8px;
  }
  /* line 7728, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-item {
    gap: 3px;
  }
  /* line 7732, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.5rem;
  }
  /* line 7736, 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 7744, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-icon i {
    font-size: 0.3rem;
  }
  /* Market context mobile fixes */
  /* line 7752, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-item {
    padding: 6px 0;
    gap: 6px;
    flex-wrap: nowrap;
  }
  /* line 7758, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-emoji {
    font-size: 0.9rem;
    flex-shrink: 0;
  }
  /* line 7763, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-content {
    min-width: 0;
    flex: 1;
  }
  /* line 7768, app/assets/stylesheets/dashboard.scss */
  .market-context-list .context-category {
    font-size: 0.7rem;
    display: block;
    margin-bottom: 2px;
  }
  /* line 7774, 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 7784, app/assets/stylesheets/dashboard.scss */
  .no-context-message {
    font-size: 0.75rem;
    padding: 8px;
  }
  /* line 7789, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list {
    padding: 6px;
  }
  /* line 7792, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-header {
    font-size: 0.7rem;
    margin-bottom: 6px;
  }
  /* line 7797, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-item {
    font-size: 0.7rem;
    gap: 4px;
    flex-wrap: nowrap;
  }
  /* line 7803, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-emoji {
    flex-shrink: 0;
  }
  /* line 7807, app/assets/stylesheets/dashboard.scss */
  .upcoming-events-list .upcoming-symbol {
    min-width: 35px;
    font-size: 0.65rem;
    flex-shrink: 0;
  }
  /* line 7813, 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 7825, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-day-header {
    font-size: 0.45rem;
  }
  /* line 7829, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell {
    min-height: 28px;
  }
  /* line 7832, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .day-number {
    font-size: 0.45rem;
  }
  /* line 7836, 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 7844, app/assets/stylesheets/dashboard.scss */
  .calendar-container .calendar-cell .event-dot i {
    font-size: 0.3rem;
  }
  /* line 7852, app/assets/stylesheets/dashboard.scss */
  .calendar-legend .legend-label {
    font-size: 0.45rem;
  }
  /* line 7856, 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 7867, 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 7873, 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 7881, app/assets/stylesheets/dashboard.scss */
.ai-advice-name {
  font-size: 0.875rem;
  color: #64748b;
  font-weight: 600;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 8006, 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 8017, 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 8028, 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 8035, 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 8044, 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 8054, app/assets/stylesheets/dashboard.scss */
.ai-recommendation-icon i {
  font-size: 1.25rem;
  color: #cc903c;
}

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

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

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

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

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

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

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

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

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

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

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

/* line 8139, 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 8145, 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 8150, 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 8160, 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 8169, 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 8178, 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 8183, 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 8193, 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 8202, 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 8206, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .action-section .growth-metrics .growth-grid .growth-item .growth-value.positive {
  color: #cc903c;
}

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

/* line 8220, 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 8224, 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 8228, 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 8238, 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 8247, 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 8257, app/assets/stylesheets/dashboard.scss */
.unified-analysis .analysis-content .analysis-text .ai-analysis-text strong {
  color: #00a8cc;
}

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

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

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

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

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

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

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

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

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

/* line 8348, 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 8358, 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 8368, 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 8375, app/assets/stylesheets/dashboard.scss */
.watch-out-card.events-card::before {
  background: linear-gradient(90deg, #cc903c, #cc903c);
}

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

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

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

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

/* line 8406, app/assets/stylesheets/dashboard.scss */
.events-card .watch-out-icon {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

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

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

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

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

/* line 8445, 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 8455, 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 8464, 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 8471, 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 8478, 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 8478, 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 8478, 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 8502, 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 8502, 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 8502, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card .growth-estimates-container .metric-item {
    padding: 0.2rem 0.15rem !important;
    min-height: 30px !important;
  }
}

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

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

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

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

/* line 8595, 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 8615, 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 8624, app/assets/stylesheets/dashboard.scss */
.stock-watermark-cell {
  display: none !important;
}

/* line 8629, 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 8652, 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 8661, 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 8669, app/assets/stylesheets/dashboard.scss */
.stock-analysis-link:hover {
  background: rgba(var(--accent-primary-rgb), 0.08);
  padding-right: 0.35rem;
}

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

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

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

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

/* line 8707, 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 8727, 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 8732, 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 8738, 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 8744, 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 8750, 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 8756, 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 8762, 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 8776, app/assets/stylesheets/dashboard.scss */
.medium-term-cell {
  text-align: center;
  vertical-align: middle;
  padding: 1rem 0.75rem !important;
  max-width: 150px !important;
}

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

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

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

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

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

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

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

/* line 8869, 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 8874, 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 8879, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.buy:focus {
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25) !important;
}

/* line 8882, 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 8887, 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 8892, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.sell:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25) !important;
}

/* line 8895, 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 8900, 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 8905, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.hold:focus {
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.25) !important;
}

/* line 8908, 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 8913, 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 8918, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.wait:focus {
  box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.25) !important;
}

/* line 8921, 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 8926, 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 8931, app/assets/stylesheets/dashboard.scss */
.medium-term-btn.trim:focus {
  box-shadow: 0 0 0 3px rgba(224, 188, 138, 0.25) !important;
}

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

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

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

/* line 8951, 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 8956, 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 8981, 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 8999, 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 9006, 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 9011, 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 9016, 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 9023, 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 9029, app/assets/stylesheets/dashboard.scss */
.ai-analysis-toggle-btn[aria-expanded="true"] i {
  transform: rotate(90deg) !important;
}

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

/* line 9040, 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 9062, 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 9068, 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 9075, 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 9081, 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 9086, 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 9093, 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 9101, 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 9111, 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 9115, 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 9120, 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 9129, 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 9136, 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 9140, 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 9145, 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 9157, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-cell {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

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

/* line 9184, 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 9193, 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 9198, 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 9206, 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 9209, 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 9216, 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 9227, 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 9232, 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 9241, 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 9248, 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 9254, 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 9262, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-stats {
  display: flex;
  gap: 1rem;
}

/* line 9266, 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 9271, 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 9277, 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 9285, 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 9293, 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 9299, 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 9303, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .historical-chart-section .chart-summary .summary-value.positive {
  color: #22c55e;
}

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

/* line 9310, 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 9319, 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 9326, 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 9332, 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 9346, app/assets/stylesheets/dashboard.scss */
.dashboard-container .chart-dropdown-row .chart-dropdown-card .chart-actions .btn-see-more i {
  font-size: 0.65rem;
}

/* line 9348, 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 9358, 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 9362, 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 9369, 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 9374, 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 9381, 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 9387, 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 9396, 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 9402, 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 9404, 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 9409, 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 9414, 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 9415, 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 9417, 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 9420, 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 9421, 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 9426, 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 9432, 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 9449, 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 9451, 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 9463, 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 9469, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section {
    padding: 0.75rem;
    gap: 0.5rem;
  }
  /* line 9473, 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 9478, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .chart-title {
    font-size: 0.75rem;
  }
  /* line 9482, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-header .period-selector {
    width: 100%;
    justify-content: space-between;
  }
  /* line 9486, 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 9494, 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 9499, 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 9505, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats {
    gap: 0.6rem;
  }
  /* line 9509, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-label {
    font-size: 0.6rem;
  }
  /* line 9510, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-stats .stat-item .stat-value {
    font-size: 0.65rem;
  }
  /* line 9514, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary {
    padding: 0.25rem 0.5rem;
  }
  /* line 9517, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-label {
    font-size: 0.6rem;
  }
  /* line 9518, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-summary .summary-value {
    font-size: 0.75rem;
  }
  /* line 9522, 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 9529, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 9533, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 140px;
  }
  /* line 9537, 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 9543, 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 9548, 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 9549, 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 9550, 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 9553, 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 9563, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card {
    max-width: 400px;
    padding: 0.9rem;
  }
  /* line 9567, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .chart-dropdown-card.chart-dropdown-card-pro {
    max-width: 650px;
  }
  /* line 9572, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-section .chart-container {
    height: 110px;
  }
  /* line 9577, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout {
    gap: 1rem;
  }
  /* line 9580, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-main-area .chart-container {
    height: 160px;
  }
  /* line 9584, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .chart-dropdown-row .historical-chart-pro .chart-pro-layout .chart-stats-panel {
    width: 160px;
  }
  /* line 9587, 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 9589, 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 9590, 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 9593, 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 9603, app/assets/stylesheets/dashboard.scss */
.dashboard-container .ai-analysis-row {
  background: rgba(15, 23, 42, 0.95) !important;
}

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

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

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

/* line 9668, 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 9674, 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 9680, 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 9687, 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 9693, 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 9709, 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 9713, 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 9718, 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 9725, 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 9730, 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 9736, 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 9745, 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 9753, 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 9759, 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 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.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 9778, 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 9787, 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 9792, 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 9796, 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 9800, 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 9817, 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 9823, 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 9828, 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 9834, 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 9838, 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 9842, 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 9846, 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 9859, 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 9867, 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 9872, 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 9881, 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 9895, 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 9905, 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 9912, 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 9919, app/assets/stylesheets/dashboard.scss */
[data-bs-toggle="tooltip"] {
  cursor: help;
}

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

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

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

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

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

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

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

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

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

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

/* line 10058, 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 10067, 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 10074, 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 10082, 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 10090, app/assets/stylesheets/dashboard.scss */
.portfolio-limit-warning .fas.fa-exclamation-triangle {
  color: #cc903c;
  font-size: 1.2rem;
}

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

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

/* line 10107, 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 10115, app/assets/stylesheets/dashboard.scss */
.header-live-dot {
  margin-left: 0.3rem !important;
  margin-right: 0.15rem !important;
}

/* line 10120, 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 10120, 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 10153, 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 10175, app/assets/stylesheets/dashboard.scss */
.price-header-info:hover {
  color: #f7f6f4 !important;
  background: rgba(204, 144, 60, 0.4) !important;
}

/* line 10182, 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 10192, 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 10203, 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 10211, 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 10223, 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 10231, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-8 {
    flex: 1;
    min-width: 0;
  }
  /* line 10236, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4 {
    flex: 0 0 auto;
    width: auto !important;
  }
  /* line 10241, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center .col-md-4.text-end {
    text-align: right !important;
  }
  /* line 10244, 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 10223, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .row.align-items-center {
    gap: 0.35rem;
  }
  /* line 10255, 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 10259, 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 10266, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .dashboard-header .dashboard-subtitle {
    display: none !important;
  }
}

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

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

/* line 10301, 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 10310, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 1rem;
  }
  /* line 10314, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 1rem;
  }
  /* line 10318, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.8rem !important;
  }
  /* line 10321, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.75rem !important;
  }
  /* line 10327, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    gap: 0.5rem;
  }
  /* line 10331, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    min-width: 0;
  }
  /* line 10338, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.7rem !important;
  }
  /* line 10342, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 1rem !important;
  }
  /* line 10347, 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 10354, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-body {
    padding: 0.75rem;
  }
  /* line 10358, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-start {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 10363, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-title {
    font-size: 0.9rem;
    padding-right: 0;
  }
  /* line 10368, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text {
    font-size: 0.7rem !important;
    margin-bottom: 0.25rem !important;
  }
  /* line 10372, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .card-text small {
    font-size: 0.65rem !important;
  }
  /* line 10377, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .position-relative .badge-status {
    font-size: 0.6rem;
    padding: 0.3rem 0.6rem;
  }
  /* line 10382, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics {
    margin-bottom: 0.75rem !important;
  }
  /* line 10385, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.25rem;
  }
  /* line 10391, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .simulation-metrics .col-md-4 {
    flex: 1;
    padding: 0 0.25rem;
  }
  /* line 10397, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item {
    text-align: center;
  }
  /* line 10400, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-label {
    font-size: 0.6rem !important;
    white-space: nowrap;
  }
  /* line 10405, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .metric-item .metric-value {
    font-size: 0.85rem !important;
    word-break: break-word;
  }
  /* line 10411, app/assets/stylesheets/dashboard.scss */
  .simulations-section .simulation-card .d-flex.justify-content-between.align-items-center {
    gap: 0.5rem;
  }
  /* line 10414, 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 10423, 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 10431, 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 10437, 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 10444, 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 10450, 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 10458, app/assets/stylesheets/dashboard.scss */
.simulations-section .metric-item .metric-label {
  display: block;
  font-size: 0.875rem;
  color: #64748b;
  margin-bottom: 0.25rem;
}

/* line 10465, 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 10477, 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 10485, 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 10492, 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 10502, 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 10509, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.7rem !important;
  }
  /* line 10513, 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 10518, 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 10527, 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 10536, 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 10544, app/assets/stylesheets/dashboard.scss */
  .predictions-column .row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }
  /* line 10551, 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 10559, app/assets/stylesheets/dashboard.scss */
  .predictions-column .best-case-card,
.predictions-column .worst-case-card {
    display: none !important;
  }
  /* line 10565, 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 10581, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 10587, app/assets/stylesheets/dashboard.scss */
  .ai-prediction-enhancer .card-icon i {
    font-size: 1rem !important;
  }
  /* line 10591, 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 10598, 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 10604, 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 10612, app/assets/stylesheets/dashboard.scss */
  .events-column {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
  }
  /* line 10619, app/assets/stylesheets/dashboard.scss */
  .events-column .card {
    height: 100% !important;
  }
}

@media (max-width: 1024px) {
  /* line 10625, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.75rem !important;
  }
  /* line 10628, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 10631, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  /* line 10636, 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 10643, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.75rem !important;
  }
  /* line 10649, app/assets/stylesheets/dashboard.scss */
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* line 10653, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    min-width: 100% !important;
    font-size: 0.7rem !important;
  }
  /* line 10657, 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 10664, 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 10674, 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 10680, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 {
    padding: 0.08rem !important;
  }
  /* line 10684, 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 10689, 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 10696, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .row.mb-4 > .col-md-4 .summary-card .card-icon i {
    font-size: 0.55rem !important;
  }
  /* line 10700, 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 10707, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card {
    margin-bottom: 0.5rem !important;
  }
  /* line 10710, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 10713, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 10717, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-header p {
    font-size: 0.55rem !important;
    display: none !important;
  }
  /* line 10723, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .card .card-body {
    padding: 0.5rem !important;
  }
  /* line 10730, app/assets/stylesheets/dashboard.scss */
  .table-responsive table:not(.stocks-table) {
    font-size: 0.6rem !important;
  }
  /* line 10733, 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 10739, 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 10749, app/assets/stylesheets/dashboard.scss */
.simulation-form-section .simulation-form .form-group {
  margin-bottom: 1.5rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 10869, 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 10877, 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 10884, app/assets/stylesheets/dashboard.scss */
.simulation-detail-section .card:hover {
  border-color: rgba(204, 144, 60, 0.3);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 11038, 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 11047, 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 11056, 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 11061, 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 11072, 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 11080, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-value.mo-value--muted {
  color: #f7f6f4;
}

/* line 11083, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-overview-strip .mo-emoji {
  font-size: 15px;
  line-height: 1;
}

/* line 11088, 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 11103, 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 11113, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 3px;
  color: #f7f6f4;
}

/* line 11121, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert p {
  font-size: 13.5px;
  line-height: 1.55;
  color: #94a3b8;
  margin: 0;
}

/* line 11128, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert > .d-flex > i {
  font-size: 15px !important;
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 11134, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-danger {
  border-left-color: #ff6b6b !important;
}

/* line 11136, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-danger > .d-flex > i {
  color: #ff6b6b;
}

/* line 11139, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-warning {
  border-left-color: #cc903c !important;
}

/* line 11141, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-warning > .d-flex > i {
  color: #cc903c;
}

/* line 11144, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-info {
  border-left-color: #60a5fa !important;
}

/* line 11146, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section > .alert.alert-info > .d-flex > i {
  color: #60a5fa;
}

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

/* line 11187, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .updated-icon {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
  font-size: 1.5rem;
}

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

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

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

/* line 11228, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-icon {
  background: rgba(204, 144, 60, 0.2);
}

/* line 11232, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sentiment-bullish .sentiment-value {
  color: #22c55e;
}

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

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

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

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

/* line 11261, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-icon {
  background: rgba(204, 144, 60, 0.2);
}

/* line 11265, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-optimistic .mood-value {
  color: #22c55e;
}

/* line 11272, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .mood-cautious .mood-icon {
  background: rgba(204, 144, 60, 0.2);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 11391, 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 11398, 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 11404, 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 11411, 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 11418, 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 11428, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .market-alerts-section .read-more-link:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 11437, 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 11446, 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 11454, 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 11459, 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 11465, 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 11474, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-header h5 i {
  color: #cc903c;
}

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

/* line 11497, 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 11503, 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 11517, 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 11530, 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 11542, 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 11556, 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 11564, 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 11572, 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 11581, 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 11586, 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 11592, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .fear-greed-card .fgi-scale .scale-fear {
  color: #dc2626;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* line 11643, 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 11651, 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 11656, 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 11662, 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 11671, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card .vix-header h5 i {
  color: #e0bc8a;
}

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

/* line 11687, 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 11694, 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 11704, 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 11709, 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 11716, 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 11722, 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 11732, 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 11741, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section .vix-card.vix-low {
  border-left: 4px solid #22c55e;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 11789, 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 11795, 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 11802, 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 11814, 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 11821, 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 11832, 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 11838, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

/* line 11845, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-arc-track {
  stroke: rgba(255, 255, 255, 0.07);
}

/* line 11849, 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 11853, 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 11865, 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 11872, 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 11883, 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 11891, 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 11899, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-caption {
  font-size: 14px;
  font-weight: 400;
  color: #f7f6f4;
}

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

/* line 11930, 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 11937, 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 11945, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .fear-greed-section-compact .fgi-history-label {
  font-size: 13.5px;
  font-weight: 600;
}

/* line 11952, 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 11968, 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 11976, 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 11981, 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 11987, 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 11996, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-header-compact h6 i {
  color: #e0bc8a;
}

/* line 11999, 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 12005, 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 12011, 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 12016, 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 12020, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-card-compact .vix-content-compact .vix-change-compact.change-up {
  color: #dc2626;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 12084, 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 12092, 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 12100, 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 12107, 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 12116, 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 12124, 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 12130, 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 12137, 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 12145, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .stock-symbol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

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

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

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

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

/* line 12189, 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 12196, 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 12201, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .commodity-card.trend-up {
  border-left: 4px solid #22c55e;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 12292, 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 12300, 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 12308, 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 12314, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .vix-analysis-card .vix-number.vix-normal {
  color: #f7f6f4;
}

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

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

/* line 12321, 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 12330, 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 12339, 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 12345, 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 12351, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .sector-column.outperforming {
  border-left: 4px solid #22c55e;
}

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

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

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

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

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

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

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

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

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

/* line 12419, 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 12427, 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 12435, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .rotation-signal i {
  margin-right: 0.5rem;
  color: #e0bc8a;
}

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

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

/* line 12452, 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 12460, 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 12467, 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 12474, 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 12483, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .event-context {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}

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

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

/* line 12508, 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 12519, 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 12528, 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 12537, 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 12546, 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 12555, 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 12573, 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 12583, 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 12592, 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 12602, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .empty-state {
  text-align: center;
  padding: 3rem 2rem;
}

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

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

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

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

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

/* line 12691, app/assets/stylesheets/dashboard.scss */
.market-analysis-banner .analysis-market-item .analysis-text {
  color: #cc903c;
  font-size: 0.9rem;
  font-weight: 600;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* line 12844, 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 12852, 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 12863, 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 12874, app/assets/stylesheets/dashboard.scss */
.badge-status i {
  font-size: 0.75rem;
}

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

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

@media (max-width: 1024px) {
  /* line 12924, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card {
    padding: 0.75rem !important;
  }
  /* line 12927, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-header {
    margin-bottom: 0.4rem !important;
  }
  /* line 12930, 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 12936, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-name {
    font-size: 0.6rem !important;
    padding: 0.15rem 0.35rem !important;
  }
  /* line 12941, 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 12946, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item {
    padding: 0.35rem !important;
  }
  /* line 12949, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-label {
    font-size: 0.55rem !important;
  }
  /* line 12953, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .opportunity-metrics .metric-item .metric-value {
    font-size: 0.75rem !important;
  }
  /* line 12959, app/assets/stylesheets/dashboard.scss */
  .opportunities-section .opportunity-card .confidence-badge {
    font-size: 0.55rem !important;
    padding: 0.15rem 0.3rem !important;
  }
  /* line 12964, 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 12971, 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 12976, 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 12982, 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 12993, 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 13000, 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 13004, 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 13008, 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 13014, 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 13026, 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 13033, 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 13038, 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 13042, 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 13047, 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 13051, 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 13056, 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 13061, 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 13065, 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 13070, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.8rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 13075, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.65rem !important;
  }
  /* line 13078, 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 13082, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card p, .social-sentiment-section .sentiment-summary p {
    font-size: 0.7rem !important;
  }
  /* line 13088, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.55rem !important;
  }
  /* line 13091, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.75rem !important;
  }
  /* line 13095, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.65rem !important;
  }
  /* line 13099, 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 13106, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.4rem !important;
  }
  /* line 13110, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.55rem !important;
  }
  /* line 13113, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 13117, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 13121, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.65rem !important;
  }
  /* line 13125, 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 13134, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.65rem !important;
    margin-bottom: 0.5rem !important;
  }
  /* line 13139, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 13143, 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 13149, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 13153, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 13156, 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 13171, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section h3, .social-sentiment-section .section-title {
    font-size: 0.95rem !important;
  }
  /* line 13176, 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 13183, 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 13187, 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 13191, 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 13197, 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 13208, 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 13215, 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 13220, 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 13224, 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 13229, 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 13233, 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 13238, 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 13242, 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 13247, 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 13251, 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 13257, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.85rem !important;
    margin-bottom: 0.35rem !important;
  }
  /* line 13263, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .summary-card, .social-sentiment-section .sentiment-summary {
    padding: 0.7rem !important;
  }
  /* line 13266, 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 13270, 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 13277, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card {
    padding: 0.6rem !important;
  }
  /* line 13280, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 13284, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .topics-grid .topic-card .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 13288, 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 13295, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.35rem !important;
  }
  /* line 13299, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card {
    padding: 0.5rem !important;
  }
  /* line 13302, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-symbol strong {
    font-size: 0.75rem !important;
  }
  /* line 13306, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-mentions {
    font-size: 0.6rem !important;
  }
  /* line 13310, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .trending-stocks-grid .trending-stock-card .stock-reason p {
    font-size: 0.7rem !important;
  }
  /* line 13314, 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 13323, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item {
    padding: 0.5rem !important;
  }
  /* line 13326, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-header h5 {
    font-size: 0.8rem !important;
  }
  /* line 13330, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-body p {
    font-size: 0.7rem !important;
  }
  /* line 13334, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .discussion-topics .topic-item .topic-meta {
    font-size: 0.6rem !important;
  }
  /* line 13342, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card {
    padding: 0.6rem !important;
    margin-bottom: 0.4rem !important;
  }
  /* line 13347, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-header h5 {
    font-size: 0.85rem !important;
  }
  /* line 13351, 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 13357, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-context p {
    font-size: 0.75rem !important;
  }
  /* line 13361, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .events-list .event-card .event-sectors {
    font-size: 0.65rem !important;
  }
  /* line 13364, 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 13379, app/assets/stylesheets/dashboard.scss */
.truncated-text {
  position: relative;
}

/* line 13382, 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 13392, 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 13404, app/assets/stylesheets/dashboard.scss */
.truncated-text .read-more-btn:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 13418, 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 13432, 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 13440, app/assets/stylesheets/dashboard.scss */
.social-sentiment-section .read-more-trigger:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

/* line 13465, 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 13475, 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 13483, app/assets/stylesheets/dashboard.scss */
.opportunities-section .read-more-trigger:hover {
  color: #e0bc8a;
  text-decoration: underline;
}

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

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

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

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

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

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

@media (max-width: 1024px) {
  /* line 13577, 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 13591, app/assets/stylesheets/dashboard.scss */
  .read-more-modal {
    padding: 0.5rem;
  }
  /* line 13594, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-content {
    max-height: 90vh;
    border-radius: 8px;
  }
  /* line 13599, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header {
    padding: 0.75rem;
  }
  /* line 13602, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-header h5 {
    font-size: 0.85rem;
  }
  /* line 13607, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body {
    padding: 0.75rem;
  }
  /* line 13610, app/assets/stylesheets/dashboard.scss */
  .read-more-modal .modal-body p {
    font-size: 0.8rem;
  }
  /* line 13616, 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 13631, 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 13641, 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 13655, app/assets/stylesheets/dashboard.scss */
.db-bubble:hover {
  transform: translateY(-2px);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 13815, app/assets/stylesheets/dashboard.scss */
.db-modal-alert.bubble-warning {
  background: rgba(204, 144, 60, 0.1);
  border-left-color: #cc903c;
}

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

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

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

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

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

/* line 13852, 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 13858, 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 13869, 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 13870, app/assets/stylesheets/dashboard.scss */
  .db-bubble {
    max-width: 65px;
    gap: 0.2rem;
  }
  /* line 13873, 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 13880, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-emoji {
    font-size: 1.15rem;
  }
  /* line 13881, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-label {
    font-size: 0.55rem;
    max-width: 55px;
  }
  /* line 13882, app/assets/stylesheets/dashboard.scss */
  .db-bubble .db-bubble-dot {
    width: 8px;
    height: 8px;
    transform: translateX(21px);
  }
  /* line 13884, 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 13894, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
  }
  /* line 13900, 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 13920, app/assets/stylesheets/dashboard.scss */
  .bubbles-action-btns .bubbles-action-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  /* line 13925, 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 13930, 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 13936, 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 13941, 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 13957, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner {
  margin-bottom: 1rem;
}

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

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

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

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

/* line 13980, 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 13986, 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 13994, 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 14003, app/assets/stylesheets/dashboard.scss */
.alert-section-card .alert-section-header h5 i {
  font-size: 0.75rem;
  color: #cc903c;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 14163, 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 14170, 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 14186, 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 14191, 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 14198, 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 14206, 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 14214, 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 14222, 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 14229, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-trigger {
  margin-bottom: 0.4rem;
  font-size: 0.77rem;
}

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

/* line 14240, 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 14253, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action i {
  margin-top: 3px;
  font-size: 11px;
  flex-shrink: 0;
}

/* line 14259, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action.alert-action--bullish i {
  color: #22c55e;
}

/* line 14260, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action.alert-action--bearish i {
  color: #ff6b6b;
}

/* line 14261, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .alert-action.alert-action--neutral i {
  color: #cc903c;
}

/* line 14266, 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 14273, app/assets/stylesheets/dashboard.scss */
.combined-alerts-banner .market-alert-accordion .stock-chip.stock-chip--more {
  color: #94a3b8 !important;
}

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

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

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

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

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

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

/* line 14357, 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 14362, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card.alert-bullish i {
  color: #22c55e;
}

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

/* line 14378, 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 14385, 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 14391, 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 14398, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-card .alert-sectors .badge {
  font-size: 0.7rem;
  font-weight: 600;
}

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

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

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

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

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

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

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

/* line 14455, 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 14469, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger {
  border-left-color: #ff6b6b;
}

/* line 14471, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-danger .alert-icon {
  color: #ff6b6b;
}

/* line 14474, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning {
  border-left-color: #cc903c;
}

/* line 14476, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-warning .alert-icon {
  color: #cc903c;
}

/* line 14479, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info {
  border-left-color: #e0bc8a;
}

/* line 14481, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-info .alert-icon {
  color: #e0bc8a;
}

/* line 14484, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish {
  border-left-color: #22c55e;
}

/* line 14486, app/assets/stylesheets/dashboard.scss */
.market-alerts-section .market-alert-accordion.alert-bullish .alert-icon {
  color: #22c55e;
}

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

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

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

/* line 14547, 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 14554, 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 14563, 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 14568, 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 14575, 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 14581, 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 14589, 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 14596, 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 14603, 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 14610, 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 14614, 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 14620, 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 14632, app/assets/stylesheets/dashboard.scss */
.mini-widgets-row {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 1rem;
}

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

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

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

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

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

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

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

/* line 14712, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini-link:hover .market-sentiment-mini {
  border-color: #cc903c;
  background: rgba(204, 144, 60, 0.05);
}

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

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

/* line 14727, 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 14739, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini.sentiment-level-bullish {
  border-left: 4px solid #22c55e;
  background: rgba(34, 197, 94, 0.03);
}

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

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

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

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

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

/* line 14778, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .sentiment-bullish .mini-value {
  color: #22c55e;
}

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

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

/* line 14791, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mood-optimistic .mini-value {
  color: #22c55e;
}

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

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

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

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

/* line 14824, 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 14830, 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 14838, 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 14850, 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 14862, 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 14876, 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 14888, app/assets/stylesheets/dashboard.scss */
.market-sentiment-mini .mini-fgi-meter .fgi-info-mini {
  display: flex;
  flex-direction: column;
  gap: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 14948, 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 14955, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.4rem 0.6rem;
  }
  /* line 14959, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
  }
  /* line 14964, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 14970, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.85rem;
  }
  /* line 14974, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.6rem;
  }
  /* line 14978, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.7rem;
  }
  /* line 14982, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.65rem;
  }
  /* line 14985, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini i {
    font-size: 0.5rem;
  }
  /* line 14991, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.4rem;
    gap: 0.3rem;
  }
  /* line 14995, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 36px;
    height: 20px;
  }
  /* line 15001, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.5rem;
  }
  /* line 15002, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-status-mini {
    font-size: 0.6rem;
  }
  /* line 15007, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.3rem;
    gap: 0.2rem;
  }
  /* line 15011, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 15012, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-change {
    font-size: 0.6rem;
  }
}

@media (max-width: 767px) {
  /* line 15019, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini {
    padding: 0.5rem 0.6rem;
    border-left-width: 3px !important;
  }
  /* line 15024, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini > .d-flex {
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
  }
  /* line 15029, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-sentiment-item,
.market-sentiment-mini .mini-mood-item {
    gap: 0.2rem;
    flex-shrink: 0;
  }
  /* line 15035, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-emoji {
    font-size: 0.9rem;
  }
  /* line 15039, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-label {
    font-size: 0.65rem;
  }
  /* line 15043, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-value {
    font-size: 0.75rem;
    font-weight: 700;
  }
  /* line 15048, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .read-more-link-mini {
    font-size: 0.6rem;
  }
  /* line 15053, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter {
    padding: 0.2rem 0.35rem;
    gap: 0.3rem;
  }
  /* line 15057, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini {
    width: 34px;
    height: 18px;
  }
  /* line 15061, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini::before {
    width: 26px;
    height: 14px;
  }
  /* line 15066, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-needle {
    height: 12px;
  }
  /* line 15070, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-gauge-mini .fgi-value-mini {
    font-size: 0.55rem;
  }
  /* line 15076, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-fgi-meter .fgi-info-mini .fgi-label-mini {
    font-size: 0.58rem;
  }
  /* line 15077, 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 15082, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item {
    padding: 0.15rem 0.25rem;
    gap: 0.2rem;
  }
  /* line 15086, app/assets/stylesheets/dashboard.scss */
  .market-sentiment-mini .mini-vix-item .vix-icon-mini {
    font-size: 0.75rem;
  }
  /* line 15087, 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 15098, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.5rem;
  }
  /* line 15101, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
    gap: 0.3rem;
  }
  /* line 15106, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.7rem;
  }
  /* line 15111, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.5rem;
  }
  /* line 15114, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr 1fr;
  }
  /* line 15119, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 15123, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.4rem 0.5rem;
  }
  /* line 15127, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.75rem;
  }
  /* line 15131, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.7rem;
  }
  /* line 15135, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15140, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-sectors-preview .badge {
    font-size: 0.55rem;
  }
  /* line 15144, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.5rem;
  }
  /* line 15147, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body .alert-message {
    font-size: 0.65rem;
  }
  /* line 15153, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.3rem;
  }
  /* line 15157, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.35rem 0.5rem;
    border-left-width: 2px;
    border-radius: 5px;
  }
  /* line 15162, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.65rem !important;
    margin-right: 0.3rem !important;
  }
  /* line 15167, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.7rem;
  }
  /* line 15171, 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 15177, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.5rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15182, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.15rem;
  }
  /* line 15185, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.5rem;
    padding: 0.1rem 0.25rem;
  }
  /* line 15192, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.65rem;
  }
  /* line 15198, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 15202, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 15206, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.4rem;
    border-radius: 8px;
  }
  /* line 15210, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.35rem;
    padding-bottom: 0.25rem;
  }
  /* line 15214, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.7rem;
  }
  /* line 15217, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.65rem;
  }
  /* line 15222, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.6rem;
  }
  /* line 15229, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 1.1rem !important;
  }
  /* line 15233, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.75rem !important;
  }
  /* line 15236, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.9rem !important;
  }
  /* line 15240, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.8rem !important;
  }
  /* line 15245, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 1rem !important;
  }
  /* line 15249, 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 15252, 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 15256, 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 15265, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section {
    margin-bottom: 0.35rem;
  }
  /* line 15268, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 {
    font-size: 0.7rem;
    gap: 0.2rem;
    margin-bottom: 0.15rem;
  }
  /* line 15273, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section h4 i {
    font-size: 0.6rem;
  }
  /* line 15278, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid {
    gap: 0.35rem;
  }
  /* line 15282, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 15287, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion {
    border-left-width: 3px;
    border-radius: 6px;
  }
  /* line 15291, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-header {
    padding: 0.5rem 0.6rem;
  }
  /* line 15295, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-icon {
    font-size: 0.85rem;
  }
  /* line 15299, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row {
    gap: 0.4rem;
  }
  /* line 15302, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-title-row strong {
    font-size: 0.8rem;
    line-height: 1.3;
  }
  /* line 15308, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .badge-sm {
    font-size: 0.6rem;
    padding: 0.1rem 0.3rem;
  }
  /* line 15313, 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 15318, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn {
    padding: 0.25rem 0.4rem;
  }
  /* line 15321, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-expand-btn i {
    font-size: 0.7rem;
  }
  /* line 15326, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-accordion .alert-accordion-body {
    padding-left: 1.4rem;
  }
  /* line 15329, 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 15334, 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 15342, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .alerts-list {
    gap: 0.25rem;
  }
  /* line 15346, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card {
    padding: 0.3rem 0.45rem;
    border-left-width: 2px;
    border-radius: 4px;
  }
  /* line 15351, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card i.fas {
    font-size: 0.55rem !important;
    margin-right: 0.25rem !important;
  }
  /* line 15356, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card strong {
    font-size: 0.65rem;
  }
  /* line 15360, 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 15366, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .badge-sm {
    font-size: 0.45rem;
    padding: 0.05rem 0.15rem;
  }
  /* line 15371, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors {
    margin-top: 0.1rem;
  }
  /* line 15374, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .market-alert-card .alert-sectors .badge {
    font-size: 0.45rem;
    padding: 0.08rem 0.2rem;
  }
  /* line 15381, app/assets/stylesheets/dashboard.scss */
  .market-alerts-section .read-more-link {
    font-size: 0.6rem;
  }
  /* line 15387, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-banner {
    margin-bottom: 0.5rem;
  }
  /* line 15391, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid {
    gap: 0.5rem;
  }
  /* line 15394, app/assets/stylesheets/dashboard.scss */
  .combined-alerts-grid.alerts-count-2 {
    grid-template-columns: 1fr;
  }
  /* line 15399, app/assets/stylesheets/dashboard.scss */
  .alert-section-card {
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
  }
  /* line 15403, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header {
    margin-bottom: 0.3rem;
    padding-bottom: 0.25rem;
  }
  /* line 15407, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 {
    font-size: 0.8rem;
  }
  /* line 15410, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header h5 i {
    font-size: 0.75rem;
  }
  /* line 15415, app/assets/stylesheets/dashboard.scss */
  .alert-section-card .alert-section-header .section-link {
    font-size: 0.7rem;
    padding: 0.15rem 0.3rem;
  }
  /* line 15422, app/assets/stylesheets/dashboard.scss */
  .alert-emoji {
    font-size: 1rem;
  }
  /* line 15428, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header h2 {
    font-size: 0.95rem !important;
  }
  /* line 15432, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .section-header p {
    font-size: 0.75rem !important;
  }
  /* line 15437, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner {
    padding: 0.6rem !important;
    border-radius: 8px !important;
  }
  /* line 15441, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner h5 {
    font-size: 0.85rem !important;
  }
  /* line 15445, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .importance-banner p {
    font-size: 0.75rem !important;
    margin: 0 !important;
  }
  /* line 15451, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section {
    margin-bottom: 1rem !important;
  }
  /* line 15454, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .sentiment-section h4 {
    font-size: 0.9rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* line 15460, 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 15464, 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 15467, 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 15471, 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 15476, 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 15481, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card {
    padding: 0.6rem 0.75rem !important;
  }
  /* line 15484, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-title {
    font-size: 0.85rem !important;
  }
  /* line 15488, app/assets/stylesheets/dashboard.scss */
  .social-sentiment-section .event-card .event-context {
    font-size: 0.75rem !important;
  }
}

/* line 15500, 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 15509, 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 15528, 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 15539, app/assets/stylesheets/dashboard.scss */
  .logo-cell * {
    display: none !important;
  }
}

/* line 15545, app/assets/stylesheets/dashboard.scss */
.stock-cell {
  max-width: 180px;
  min-width: 130px;
  padding-left: 0.25rem !important;
}

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

/* line 15577, app/assets/stylesheets/dashboard.scss */
.chart-cell .btn-stock-chart:hover {
  background: rgba(204, 144, 60, 0.2);
  border-color: #cc903c;
  color: #cc903c;
}

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

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

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

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

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

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

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

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

/* line 15707, 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 15717, 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 15726, 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 15739, 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 15745, 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 15752, 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 15757, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .exchange-status.closed-analyzing.pulse-animation {
  animation: pulse-analyzing 1.5s ease-in-out infinite;
}

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

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

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

/* line 15799, 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 15808, 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 15816, app/assets/stylesheets/dashboard.scss */
.stock-info-compact .symbol-row .btn-stock-chart:hover {
  color: #cc903c;
}

/* line 15822, 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 15838, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 15842, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.2rem;
    padding-left: 0 !important;
  }
  /* line 15846, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.25rem;
  }
  /* line 15849, 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 15854, 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 15857, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.4rem !important;
  }
  /* line 15860, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 14px;
    height: 14px;
    font-size: 0.45rem;
  }
  /* line 15864, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.45rem;
  }
  /* line 15869, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.55rem !important;
    max-width: 80px;
  }
  /* line 15876, 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 15880, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.15rem;
  }
  /* line 15881, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    font-size: 0.4rem;
  }
  /* line 15886, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.2rem;
  }
  /* line 15889, 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 15894, 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 15900, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.15rem;
  }
  /* line 15903, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.65rem !important;
  }
  /* line 15904, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.55rem !important;
  }
  /* line 15905, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.5rem !important;
  }
  /* line 15907, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15911, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.7rem !important;
  }
  /* line 15912, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.5rem !important;
  }
  /* line 15916, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.55rem !important;
  }
  /* line 15917, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.65rem !important;
  }
  /* line 15918, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.55rem !important;
  }
  /* line 15919, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 15922, 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 15929, 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 15935, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 15941, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.2rem 0.35rem !important;
    font-size: 0.55rem !important;
  }
  /* line 15945, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    font-size: 0.5rem;
  }
  /* line 15949, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.6rem !important;
  }
  /* line 15952, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.6rem !important;
  }
  /* line 15956, 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 15960, 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 15966, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.4rem !important;
  }
  /* line 15969, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.4rem 0.6rem !important;
  }
  /* line 15972, 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 15973, 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 15974, 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 15979, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15983, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.5rem !important;
  }
  /* line 15984, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.65rem !important;
  }
  /* line 15985, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.5rem !important;
  }
  /* line 15988, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.35rem 0.6rem !important;
    gap: 0.35rem !important;
  }
  /* line 15992, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.5rem !important;
  }
  /* line 15993, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.7rem !important;
  }
  /* line 15994, 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 15997, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.4rem !important;
  }
  /* line 16000, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.5rem !important;
  }
  /* line 16003, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 16004, 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 16008, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.5rem !important;
  }
  /* line 16011, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.4rem;
  }
  /* line 16013, 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 16014, 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 16018, 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 16019, 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 16022, 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 16027, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.5rem !important;
  }
  /* line 16030, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 16030, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 16031, 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 16032, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 16032, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 16036, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.5rem 0.6rem !important;
  }
  /* line 16039, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 16039, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 16040, 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 16041, 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 16048, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.4rem !important;
  }
  /* line 16052, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    gap: 0.15rem;
    padding-left: 0 !important;
  }
  /* line 16056, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row {
    gap: 0.2rem;
  }
  /* line 16059, 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 16064, 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 16067, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .asset-type-badge i {
    font-size: 0.35rem !important;
  }
  /* line 16070, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status {
    width: 12px;
    height: 12px;
    font-size: 0.4rem;
  }
  /* line 16074, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-title-row .exchange-status i {
    font-size: 0.4rem;
  }
  /* line 16079, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-row .stock-name-inline {
    font-size: 0.5rem !important;
    max-width: 70px;
  }
  /* line 16086, 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 16090, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini i {
    margin-right: 0.1rem;
  }
  /* line 16091, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-actions-row .ai-analysis-badge.mini .badge-text-original {
    display: none;
  }
  /* line 16096, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display {
    gap: 0.15rem;
  }
  /* line 16099, 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 16104, 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 16110, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction {
    gap: 0.1rem;
  }
  /* line 16113, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.55rem !important;
  }
  /* line 16114, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.5rem !important;
  }
  /* line 16115, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    font-size: 0.45rem !important;
  }
  /* line 16117, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 16121, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .price-container {
    font-size: 0.6rem !important;
  }
  /* line 16122, app/assets/stylesheets/dashboard.scss */
  .price-display-compact .usd-conversion {
    font-size: 0.45rem !important;
  }
  /* line 16126, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.5rem !important;
  }
  /* line 16127, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value {
    font-size: 0.55rem !important;
  }
  /* line 16128, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-change {
    font-size: 0.5rem !important;
  }
  /* line 16129, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .usd-conversion {
    font-size: 0.4rem !important;
  }
  /* line 16132, 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 16139, 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 16145, app/assets/stylesheets/dashboard.scss */
  .chart-cell .btn-stock-chart .chevron-icon {
    display: none !important;
  }
  /* line 16151, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai {
    padding: 0.15rem 0.3rem !important;
    font-size: 0.5rem !important;
  }
  /* line 16155, app/assets/stylesheets/dashboard.scss */
  .details-cell .btn-details-ai .btn-details-text {
    display: none;
  }
  /* line 16159, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.5rem !important;
  }
  /* line 16162, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block {
    padding: 0.5rem !important;
  }
  /* line 16166, 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 16170, 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 16176, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact {
    gap: 0.3rem !important;
  }
  /* line 16179, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .signal-trading-block .trading-levels-compact .level-item {
    padding: 0.3rem 0.5rem !important;
  }
  /* line 16182, 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 16183, 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 16184, 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 16189, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 16193, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-label {
    font-size: 0.45rem !important;
  }
  /* line 16194, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-value {
    font-size: 0.55rem !important;
  }
  /* line 16195, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .level-chip .level-pct {
    font-size: 0.45rem !important;
  }
  /* line 16198, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview {
    padding: 0.3rem 0.5rem !important;
    gap: 0.3rem !important;
  }
  /* line 16202, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-label {
    font-size: 0.45rem !important;
  }
  /* line 16203, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .j7-preview .j7-price {
    font-size: 0.6rem !important;
  }
  /* line 16204, 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 16207, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section {
    gap: 0.35rem !important;
  }
  /* line 16210, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block {
    padding: 0.4rem !important;
  }
  /* line 16213, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block .reasoning-label {
    font-size: 0.5rem !important;
  }
  /* line 16214, 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 16218, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement {
    padding: 0.4rem !important;
  }
  /* line 16221, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-reasoning-section .reasoning-block.disagreement .disagreement-header {
    margin-bottom: 0.35rem;
  }
  /* line 16223, 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 16224, 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 16228, 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 16229, 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 16232, 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 16237, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section {
    padding: 0.4rem !important;
  }
  /* line 16240, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title {
    font-size: 0.5rem !important;
  }
  /* line 16240, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .events-title i {
    font-size: 0.5rem !important;
  }
  /* line 16241, 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 16242, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap {
    width: 18px !important;
    height: 18px !important;
  }
  /* line 16242, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
    font-size: 0.5rem !important;
  }
  /* line 16246, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section {
    padding: 0.4rem 0.5rem !important;
  }
  /* line 16249, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label {
    font-size: 0.5rem !important;
  }
  /* line 16249, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .personalized-signal-section .section-label i {
    font-size: 0.55rem !important;
  }
  /* line 16250, 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 16251, 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 16257, app/assets/stylesheets/dashboard.scss */
.signal-cell {
  overflow: visible;
}

/* line 16259, 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 16267, 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 16275, 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 16284, 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 16291, 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 16306, 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 16314, app/assets/stylesheets/dashboard.scss */
.signal-cell .signal-display .refresh-needed {
  color: #cc903c;
  font-size: 0.7rem;
  animation: pulse 2s infinite;
}

/* line 16321, 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 16333, 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 16348, 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 16359, app/assets/stylesheets/dashboard.scss */
.today-tooltip-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
}

/* line 16366, 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 16376, 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 16381, 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 16386, 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 16391, 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 16398, 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 16406, 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 16421, 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 16428, app/assets/stylesheets/dashboard.scss */
.reasoning-block.disagreement .disagreement-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* line 16557, 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 16565, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.5);
}

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

/* line 16572, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge {
  color: rgba(224, 188, 138, 0.7);
}

/* line 16574, app/assets/stylesheets/dashboard.scss */
.prediction-cell .ml-prediction .pred-conf.ai-badge i {
  color: rgba(224, 188, 138, 0.7);
}

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

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

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

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

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

/* line 16616, 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 16622, 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 16629, 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 16635, 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 16640, app/assets/stylesheets/dashboard.scss */
.position-cell .position-two-cols .pos-col.pnl-col .pnl-pct {
  font-weight: 700;
  font-size: 0.8rem;
}

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

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

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

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

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

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

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

/* line 16674, 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 16687, 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 16692, 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 16696, 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 16701, 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 16708, 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 16718, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-ai .fa-robot {
  color: #cc903c;
  font-size: 0.75rem;
}

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

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

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

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

/* line 16780, 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 16786, 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 16792, 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 16797, app/assets/stylesheets/dashboard.scss */
.details-cell .btn-details-chart[aria-expanded="true"] {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  border-color: transparent;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (max-width: 1279px) {
  /* line 16915, app/assets/stylesheets/dashboard.scss */
  .stock-row.market-open .stock-cell {
    border-left: 4px solid #cc903c;
  }
  /* line 16918, app/assets/stylesheets/dashboard.scss */
  .stock-row.market-closed .stock-cell {
    border-left: 4px solid rgba(100, 116, 139, 0.5);
  }
  /* line 16921, app/assets/stylesheets/dashboard.scss */
  .stock-row:first-child .stock-cell {
    border-top-left-radius: calc($border-radius - 1px);
  }
  /* line 16924, app/assets/stylesheets/dashboard.scss */
  .stock-row:last-child .stock-cell {
    border-bottom-left-radius: calc($border-radius - 1px);
  }
}

/* line 16930, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row {
  background: rgba(224, 188, 138, 0.03);
}

/* line 16933, app/assets/stylesheets/dashboard.scss */
.stock-row.watchlist-row.market-open .logo-cell {
  border-left: 4px solid rgba(224, 188, 138, 0.6);
}

/* line 16937, 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 16942, app/assets/stylesheets/dashboard.scss */
  .stock-row.watchlist-row.market-open .stock-cell {
    border-left: 4px solid rgba(224, 188, 138, 0.6);
  }
  /* line 16945, app/assets/stylesheets/dashboard.scss */
  .stock-row.watchlist-row.market-closed .stock-cell {
    border-left: 4px solid rgba(224, 188, 138, 0.3);
  }
}

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

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

/* line 16967, 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 16975, app/assets/stylesheets/dashboard.scss */
.section-separator::before {
  background: linear-gradient(90deg, transparent, rgba(224, 188, 138, 0.3));
}

/* line 16979, app/assets/stylesheets/dashboard.scss */
.section-separator::after {
  background: linear-gradient(90deg, rgba(224, 188, 138, 0.3), transparent);
}

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

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

/* line 17022, 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 17031, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-since i {
  color: #e0bc8a;
  font-size: 0.6rem;
}

/* line 17034, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl {
  display: flex;
  align-items: baseline;
  gap: 0;
  font-weight: 700;
  justify-content: center;
}

/* line 17041, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl.positive {
  color: #22c55e;
}

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

/* line 17044, app/assets/stylesheets/dashboard.scss */
.watchlist-pnl-block .watchlist-pnl .wl-pnl-amount {
  font-size: 0.85rem;
  padding-right: 0.5rem;
}

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

/* line 17093, 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 17105, 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 17111, app/assets/stylesheets/dashboard.scss */
.btn-watchlist-add:hover {
  background: rgba(224, 188, 138, 0.28) !important;
  color: #e0bc8a !important;
}

/* line 17117, 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 17123, app/assets/stylesheets/dashboard.scss */
.btn-add-owned:hover {
  background: rgba(204, 144, 60, 0.28) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* line 17197, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning {
  background: rgba(224, 188, 138, 0.2);
  color: #e0bc8a;
}

/* line 17200, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.warning:hover {
  background: rgba(224, 188, 138, 0.35);
  transform: scale(1.1);
}

/* line 17203, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others {
  background: rgba(204, 144, 60, 0.2);
  color: #e0bc8a;
}

/* line 17206, app/assets/stylesheets/dashboard.scss */
.events-cell .event-icon.others:hover {
  background: rgba(204, 144, 60, 0.35);
  transform: scale(1.1);
}

/* line 17211, app/assets/stylesheets/dashboard.scss */
.events-cell .events-display {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 17217, 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 17228, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip i {
  font-size: 0.6rem;
}

/* line 17232, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip .event-label {
  white-space: nowrap;
}

/* line 17236, 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 17241, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.dividend:hover {
  background: rgba(255, 215, 0, 0.25);
}

/* line 17246, 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 17251, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.earnings:hover {
  background: rgba(0, 180, 216, 0.25);
}

/* line 17256, 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 17261, app/assets/stylesheets/dashboard.scss */
.events-cell .event-chip.crisis:hover {
  background: rgba(255, 107, 107, 0.25);
}

@media (max-width: 1024px) {
  /* line 17268, app/assets/stylesheets/dashboard.scss */
  .events-cell .event-chip .event-label {
    display: none;
  }
}

/* line 17276, 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 17285, 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 17292, 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 17301, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack .fundamentals-column {
  flex: none;
  max-height: 250px;
}

/* line 17306, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .left-stack.has-disagreement .fundamentals-column {
  max-height: 352px;
}

/* line 17312, 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 17319, 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 17329, 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 17338, 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 17348, 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 17350, 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 17355, 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 17360, 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 17367, 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 17374, 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 17380, 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 17386, 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 17391, 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 17392, 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 17397, 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 17402, 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 17413, 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 17422, 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 17429, 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 17437, 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 17441, 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 17447, 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 17451, 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 17452, 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 17453, 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 17456, 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 17460, 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 17461, 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 17462, 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 17465, 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 17468, 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 17471, 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 17474, 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 17481, 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 17496, 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 17507, 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 17518, 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 17522, 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 17534, 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 17541, 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 17550, 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 17559, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-metrics::-webkit-scrollbar {
  display: none;
}

/* line 17563, 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 17574, 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 17586, 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 17588, 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 17595, 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 17604, 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 17618, 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 17621, 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 17624, 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 17627, 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 17630, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
  padding-top: 0.2rem;
}

/* line 17632, 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 17642, 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 17648, 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 17656, 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 17662, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-positive {
  color: #22c55e !important;
}

/* line 17663, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fr-negative {
  color: #ff6b6b !important;
}

/* line 17666, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row-hilo {
  align-items: flex-start !important;
}

/* line 17669, 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 17671, 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 17677, 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 17678, 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 17683, 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 17693, 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 17698, 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 17708, 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 17713, 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 17721, 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 17724, 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 17728, 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 17739, 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 17744, 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 17753, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
  height: 80px;
  position: relative;
}

/* line 17757, 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 17763, 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 17770, 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 17776, 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 17780, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.positive {
  color: #22c55e;
}

/* line 17781, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-summary .summary-value.negative {
  color: #ef4444;
}

/* line 17787, 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 17794, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-analysis-two-column .content-column .events-detail-section {
  margin-bottom: 0;
}

/* line 17798, 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 17806, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    gap: 0.6rem;
  }
  /* line 17809, 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 17815, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 17819, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: 0 0 190px;
  }
  /* line 17822, 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 17829, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17832, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column .chart-container {
    height: 90px;
  }
  /* line 17836, 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 17845, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 17849, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .trading-column {
    flex: none;
    width: 100%;
  }
  /* line 17853, 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 17860, 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 17866, 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 17874, 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 17880, 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 17882, 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 17883, 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 17884, 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 17889, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .left-stack {
    flex: none;
    width: 100%;
  }
  /* line 17895, 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 17900, 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 17906, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-col-divider {
    display: none;
  }
  /* line 17908, 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 17914, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-label {
    font-size: 0.62rem;
  }
  /* line 17915, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row .fr-value {
    font-size: 0.74rem;
  }
  /* line 17917, 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 17924, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .fundamentals-column .fund-row.fund-sector {
    grid-column: 1 / -1;
  }
  /* line 17925, 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 17931, 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 17937, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .ai-analysis-two-column .historical-chart-column {
    flex: 0 0 100%;
    order: -1;
  }
  /* line 17940, 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 17948, 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 17955, 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 17963, 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 17972, 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 17979, 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 17985, 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 17988, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .quick-stats-row .stat-chip.warning .stat-value {
  color: #ff6b6b;
}

/* line 17996, 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 18005, 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 18016, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-title i {
  font-size: 0.7rem;
}

/* line 18019, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .events-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* line 18025, 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 18033, 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 18042, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .events-detail-section .event-item .event-icon-wrap i {
  font-size: 0.65rem;
}

/* line 18045, 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 18052, 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 18056, 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 18060, 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 18064, 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 18068, 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 18074, 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 18082, 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 18093, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .personalized-signal-section .section-label i {
  font-size: 0.7rem;
}

/* line 18098, 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 18104, 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 18119, 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 18125, 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 18131, 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 18137, 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 18143, 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 18150, 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 18162, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section {
  margin-bottom: 1rem;
}

/* line 18165, 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 18172, 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 18184, 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 18191, 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 18195, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .ai-reasoning-section .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 18203, 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 18210, 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 18221, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 18226, 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 18233, 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 18242, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .signal-badge-group .confidence-chip i {
  font-size: 0.65rem;
}

/* line 18244, 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 18249, 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 18254, 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 18262, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .signal-trading-block .key-levels-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 18268, 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 18276, 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 18287, 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 18295, 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 18301, 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 18307, 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 18311, 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 18320, 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 18329, 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 18335, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-value {
  font-weight: 700;
  font-size: 0.9rem;
  color: #f7f6f4;
}

/* line 18341, 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 18347, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.positive {
  color: #22c55e;
  background: rgba(204, 144, 60, 0.15);
}

/* line 18351, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip .level-pct.negative {
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.15);
}

/* line 18357, 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 18360, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.target .level-value {
  color: #22c55e;
}

/* line 18363, 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 18366, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.stop .level-value {
  color: #ff6b6b;
}

/* line 18369, 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 18372, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.bought .level-value {
  color: #e0bc8a;
}

/* line 18375, 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 18378, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.growth .level-value {
  color: #e0bc8a;
}

/* line 18382, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent {
  padding: 0.4rem 0.75rem;
}

/* line 18384, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-value {
  font-size: 0.85rem;
}

/* line 18385, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.prominent .level-pct {
  font-size: 0.7rem;
}

/* line 18389, 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 18393, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-label {
  font-size: 0.65rem;
}

/* line 18394, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-value {
  font-size: 0.8rem;
  opacity: 0.85;
}

/* line 18395, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .level-chip.subtle .level-pct {
  font-size: 0.7rem;
}

/* line 18401, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .trading-levels .levels-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 18409, 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 18419, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 18424, 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 18431, 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 18440, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .detail-header-row .signal-recap .confidence-chip i {
  font-size: 0.7rem;
}

/* line 18444, 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 18450, 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 18456, 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 18464, 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 18474, 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 18482, 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 18489, 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 18495, 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 18500, 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 18510, 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 18515, 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 18526, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .section-title i {
  color: #cc903c;
}

/* line 18531, 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 18531, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 18541, 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 18547, 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 18552, 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 18560, 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 18567, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 18569, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 18572, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company {
  border-left-color: #e0bc8a;
}

/* line 18574, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.company .block-title {
  color: #e0bc8a;
}

/* line 18577, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical {
  border-left-color: #e0bc8a;
}

/* line 18579, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.technical .block-title {
  color: #e0bc8a;
}

/* line 18582, app/assets/stylesheets/dashboard.scss */
.ai-analysis-card.compact .complementary-info-section .info-block.catalysts {
  border-left-color: #22c55e;
}

/* line 18584, 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 17276, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
  }
  /* line 18594, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.65rem;
    margin-bottom: 0.5rem;
  }
  /* line 18599, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.5rem;
  }
  /* line 18603, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.5rem;
  }
  /* line 18606, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.8rem;
  }
  /* line 18607, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.55rem;
  }
  /* line 18608, 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 17276, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 18617, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.6rem;
    margin-bottom: 0.4rem;
  }
  /* line 18622, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    gap: 0.4rem;
  }
  /* line 18626, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.4rem;
  }
  /* line 18629, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.7rem;
  }
  /* line 18630, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 18631, 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 17276, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  /* line 18640, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .section-title {
    font-size: 0.55rem;
    margin-bottom: 0.35rem;
  }
  /* line 18645, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-blocks-grid {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  /* line 18650, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block {
    padding: 0.35rem;
  }
  /* line 18653, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-icon {
    font-size: 0.65rem;
    margin-right: 0.25rem;
  }
  /* line 18654, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .info-block .block-title {
    font-size: 0.5rem;
  }
  /* line 18655, 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 18661, app/assets/stylesheets/dashboard.scss */
.price-display-compact {
  text-align: center;
}

/* line 18664, 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 18673, 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 18681, 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 18694, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .symbol-row .symbol-tag {
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 18700, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    max-width: 100px;
    font-size: 0.65rem;
  }
  /* line 18707, 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 18712, app/assets/stylesheets/dashboard.scss */
  .signal-cell .signal-display .action-badge.mini, .signal-cell .signal-display .mini.forecast-badge {
    display: none;
  }
  /* line 18718, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-price {
    font-size: 0.75rem;
  }
  /* line 18722, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-change {
    font-size: 0.65rem;
  }
  /* line 18726, app/assets/stylesheets/dashboard.scss */
  .prediction-cell .ml-prediction .pred-conf {
    display: none;
  }
  /* line 18731, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact {
    padding: 0.75rem;
  }
  /* line 18734, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row {
    gap: 0.5rem;
  }
  /* line 18737, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip {
    padding: 0.3rem 0.6rem;
  }
  /* line 18740, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-label {
    font-size: 0.6rem;
  }
  /* line 18744, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .quick-stats-row .stat-chip .stat-value {
    font-size: 0.75rem;
  }
  /* line 18750, app/assets/stylesheets/dashboard.scss */
  .ai-analysis-card.compact .trading-levels .levels-row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  /* line 18760, 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 18768, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact .stock-name-small {
    display: none;
  }
  /* line 18773, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-shares {
    font-size: 0.6rem;
  }
  /* line 18777, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-value .value-main {
    font-size: 0.75rem;
  }
  /* line 18782, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-pct {
    font-size: 0.65rem;
  }
  /* line 18783, app/assets/stylesheets/dashboard.scss */
  .position-cell .position-compact .pos-pnl .pnl-val {
    font-size: 0.55rem;
  }
}

/* line 18793, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-header {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 18798, 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 18807, 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 18814, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .risk-score-badge .score {
  font-size: 1.25rem;
  font-weight: 700;
  color: #cc903c;
}

/* line 18821, 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 18821, app/assets/stylesheets/dashboard.scss */
  .investor-profile-form .profile-fields {
    grid-template-columns: 1fr;
  }
}

/* line 18832, 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 18839, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field label i {
  margin-right: 0.5rem;
  color: #cc903c;
  width: 16px;
  text-align: center;
}

/* line 18846, 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 18854, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-field.optional label i {
  color: rgba(255, 255, 255, 0.4);
}

/* line 18859, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 18865, 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 18877, 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 18882, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.selected {
  background: rgba(204, 144, 60, 0.15);
  border-color: #cc903c;
  color: #cc903c;
}

/* line 18888, 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 18893, app/assets/stylesheets/dashboard.scss */
.investor-profile-form .profile-option.ai-decide-option i {
  margin-right: 0.4rem;
}

/* line 18895, 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 18900, 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 18915, app/assets/stylesheets/dashboard.scss */
.personalized-col {
  min-width: 100px;
  text-align: center;
}

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

/* line 18927, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

/* line 18933, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column.empty {
  opacity: 0.6;
}

/* line 18937, 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 18945, app/assets/stylesheets/dashboard.scss */
.personalized-signal-column .signal-placeholder i {
  margin-right: 0.25rem;
}

/* line 18952, 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 18968, app/assets/stylesheets/dashboard.scss */
.personalized-signal-badge:hover {
  transform: scale(1.02);
}

/* line 18972, 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 18978, 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 18984, 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 18990, 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 18996, 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 19005, app/assets/stylesheets/dashboard.scss */
.personalized-reason {
  display: none;
}

/* line 19010, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* line 19024, 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 19050, 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 19062, app/assets/stylesheets/dashboard.scss */
.has-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 19068, 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 19077, app/assets/stylesheets/dashboard.scss */
.personalized-signal-wrapper:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}

/* line 19084, app/assets/stylesheets/dashboard.scss */
.personalized-tooltip {
  border-color: rgba(204, 144, 60, 0.4);
}

/* line 19092, app/assets/stylesheets/dashboard.scss */
.tooltip {
  z-index: 9999 !important;
}

/* line 19095, 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 19110, 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 19115, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19119, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19123, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19127, app/assets/stylesheets/dashboard.scss */
.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: rgba(30, 41, 59, 0.98) !important;
}

/* line 19133, app/assets/stylesheets/dashboard.scss */
.personalized-signal-container {
  margin-top: 0.35rem;
}

/* line 19137, 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 19150, 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 19156, 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 19162, 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 19168, 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 19174, 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 19180, 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 19186, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.positive {
  background: rgba(34, 197, 94, 0.2);
  color: #22c55e;
}

/* line 19191, app/assets/stylesheets/dashboard.scss */
.personalized-signal .personalized-pl.negative {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

/* line 19199, 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 19214, 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 19221, app/assets/stylesheets/dashboard.scss */
.signal-locked-badge i {
  font-size: 0.7rem;
}

/* line 19227, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon {
  text-decoration: none;
  color: inherit;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

/* line 19233, app/assets/stylesheets/dashboard.scss */
a.premium-locked-icon:hover {
  opacity: 0.8;
  text-decoration: none;
}

/* line 19240, app/assets/stylesheets/dashboard.scss */
.signal-pending {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.7rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  background: rgba(148, 163, 184, 0.08);
  color: #94a3b8;
  opacity: 0.85;
}

/* line 19255, 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 19269, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-column .personalized-reason {
    display: none;
  }
  /* line 19274, 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 19284, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell::before {
    display: none !important;
  }
  /* line 19289, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.2rem 0.4rem;
    font-size: 0.6rem;
  }
  /* line 19294, app/assets/stylesheets/dashboard.scss */
  .personalized-reason {
    font-size: 0.55rem;
  }
}

@media (max-width: 767px) {
  /* line 19302, 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 19312, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-badge {
    padding: 0.25rem 0.45rem;
    font-size: 0.65rem;
  }
}

@media (max-width: 480px) {
  /* line 19320, app/assets/stylesheets/dashboard.scss */
  .personalized-col {
    display: none;
  }
  /* line 19325, 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 19334, 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 19345, 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 19352, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-signal-badge {
    padding: 0.3rem 0.5rem;
    font-size: 0.7rem;
  }
  /* line 19357, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-cell .personalized-reason {
    font-size: 0.65rem;
    max-width: 200px;
  }
  /* line 19364, app/assets/stylesheets/dashboard.scss */
  .personalized-signal-container {
    display: none;
  }
}

/* line 19375, 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 19379, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header .mode-indicator {
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.75rem;
}

/* line 19385, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .mega-results-header h5 {
  font-size: 1.1rem;
  font-weight: 600;
}

/* line 19393, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

/* line 19398, 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 19405, 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 19410, 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 19416, 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 19424, 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 19431, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .executive-summary .metric-card .metric-label .small {
  font-size: 0.6rem;
  opacity: 0.8;
}

/* line 19441, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .card {
  border-radius: 10px;
}

/* line 19445, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .events-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 19451, 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 19460, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini:hover {
  transform: scale(1.02);
}

/* line 19464, app/assets/stylesheets/dashboard.scss */
.mega-simulator-results .events-timeline-section .event-chip-mini i {
  font-size: 0.65rem;
}

@media (max-width: 1200px) {
  /* line 19474, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.75rem;
  }
  /* line 19477, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1.2rem;
  }
  /* line 19481, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.65rem;
  }
}

@media (max-width: 768px) {
  /* line 19490, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header {
    padding: 0.5rem 1rem !important;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  /* line 19495, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header h5 {
    font-size: 0.95rem;
  }
  /* line 19499, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .mega-results-header .mode-indicator {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.65rem;
  }
  /* line 19506, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.6rem;
  }
  /* line 19509, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 1rem;
  }
  /* line 19513, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 1rem;
  }
  /* line 19517, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.6rem;
  }
  /* line 19524, 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 19535, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .col-6 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  /* line 19540, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card {
    padding: 0.5rem;
  }
  /* line 19543, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-icon {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
  }
  /* line 19548, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-value {
    font-size: 0.9rem;
  }
  /* line 19552, app/assets/stylesheets/dashboard.scss */
  .mega-simulator-results .executive-summary .metric-card .metric-label {
    font-size: 0.55rem;
  }
}

/* line 19562, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .card {
  border-radius: 10px;
}

/* line 19566, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* line 19569, 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 19574, app/assets/stylesheets/dashboard.scss */
.risk-metrics-section .risk-metric-item .h5 {
  font-weight: 700;
  font-size: 1.25rem;
}

@media (max-width: 768px) {
  /* line 19582, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 19589, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item {
    padding: 0.5rem !important;
  }
  /* line 19592, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .h5 {
    font-size: 0.9rem;
  }
  /* line 19596, app/assets/stylesheets/dashboard.scss */
  .risk-metrics-section .risk-metric-item .small {
    font-size: 0.6rem;
  }
}

/* line 19609, 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 19619, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn i {
  font-size: 1rem;
}

/* line 19623, app/assets/stylesheets/dashboard.scss */
.mobile-new-simulation-btn .btn.btn-primary {
  background: linear-gradient(135deg, #cc903c, #e0bc8a);
  border: none;
}

/* line 19627, 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 19633, 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 19644, 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 19657, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header > .d-flex {
  width: 100%;
  height: 100%;
  align-items: center;
}

/* line 19664, 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 19674, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 19681, 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 19691, 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 19700, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn {
  flex-shrink: 0;
}

/* line 19705, 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 19716, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f7f6f4;
}

/* line 19721, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-ghost i {
  font-size: 0.85rem;
}

/* line 19726, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .btn-sm {
  font-size: 0.8rem;
  padding: 0.4rem 0.75rem;
  white-space: nowrap;
}

/* line 19732, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge {
  font-size: 0.65rem !important;
  flex-shrink: 0;
}

/* line 19737, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .badge-status {
  padding: 0.25rem 0.5rem;
}

/* line 19742, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .date-info {
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* line 19748, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown {
  position: relative;
  z-index: 1000;
}

/* line 19753, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu {
  min-width: 120px;
  z-index: 1050 !important;
  position: absolute !important;
}

/* line 19758, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu.show {
  z-index: 1050 !important;
}

/* line 19762, app/assets/stylesheets/dashboard.scss */
.simulations-page .simulation-header .dropdown-menu .dropdown-item {
  cursor: pointer;
  padding: 0.5rem 1rem;
}

/* line 19766, 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 19775, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 1rem !important;
  }
  /* line 19778, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.9rem;
  }
  /* line 19782, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .date-info {
    display: none !important;
  }
  /* line 19786, 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 19794, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.75rem !important;
  }
  /* line 19797, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.85rem;
  }
  /* line 19801, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    padding: 0.2rem 0.4rem !important;
    font-size: 0.6rem;
  }
  /* line 19805, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator span {
    display: none;
  }
  /* line 19810, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.7rem;
    padding: 0.3rem 0.5rem;
  }
  /* line 19815, 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 19823, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header {
    padding: 0 0.5rem !important;
  }
  /* line 19826, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-left {
    gap: 0.5rem;
  }
  /* line 19830, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .header-right {
    gap: 0.35rem;
  }
  /* line 19834, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header h5 {
    font-size: 0.8rem;
  }
  /* line 19838, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm {
    font-size: 0.65rem;
    padding: 0.25rem 0.4rem;
  }
  /* line 19842, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .btn-sm .btn-text {
    display: none !important;
  }
  /* line 19847, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulation-header .mode-indicator {
    display: none !important;
  }
}

/* line 19859, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulations-content {
  max-width: 1400px;
  margin: 0;
  padding: 2rem;
}

/* line 19866, 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 19873, 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 19879, 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 19884, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .card-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #f7f6f4;
  margin: 0;
}

/* line 19891, 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 19902, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .mode-badge i {
  flex-shrink: 0;
}

/* line 19906, 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 19915, 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 19926, 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 19932, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-completed {
  background: rgba(40, 167, 69, 0.2);
  color: #28a745;
}

/* line 19936, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-processing {
  background: rgba(0, 123, 255, 0.2);
  color: #007bff;
}

/* line 19940, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-pending {
  background: rgba(108, 117, 125, 0.2);
  color: #adb5bd;
}

/* line 19944, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .status-badge.status-failed {
  background: rgba(220, 53, 69, 0.2);
  color: #dc3545;
}

/* line 19950, 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 19957, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .date-range i {
  font-size: 0.7rem;
}

/* line 19959, 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 19967, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 19972, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

/* line 19977, 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 19982, 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 19989, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.positive .metric-value {
  color: #28a745;
}

/* line 19990, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-return.negative .metric-value {
  color: #dc3545;
}

/* line 19993, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .metrics-row .metric-mini.metric-risk .metric-value {
  color: #cc903c;
}

/* line 19999, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

/* line 20005, 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 20015, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .events-row .event-mini-chip i {
  font-size: 0.55rem;
}

/* line 20018, 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 20027, 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 20034, 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 20038, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time {
  font-size: 0.7rem;
}

/* line 20040, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .created-time i {
  margin-right: 0.25rem;
}

/* line 20043, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulation-card-pro .actions-row .action-buttons {
  display: flex;
  gap: 0.5rem;
}

/* line 20048, 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 20062, 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 20067, 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 20073, 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 20079, 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 20090, 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 20100, app/assets/stylesheets/dashboard.scss */
.simulations-index .empty-state .empty-icon i {
  font-size: 2rem;
  color: #cc903c;
}

@media (max-width: 768px) {
  /* line 20109, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro {
    padding: 0.85rem 1rem;
  }
  /* line 20112, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .card-title {
    font-size: 0.85rem;
  }
  /* line 20116, 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 20122, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .mode-badge .mode-name {
    display: none;
  }
  /* line 20127, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    gap: 0.5rem;
  }
  /* line 20131, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-value {
    font-size: 0.75rem;
  }
  /* line 20132, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row .metric-mini .metric-label {
    font-size: 0.55rem;
  }
  /* line 20137, 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 20147, 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 20153, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .metrics-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  /* line 20159, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch !important;
  }
  /* line 20164, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulation-card-pro .actions-row .action-buttons {
    justify-content: flex-end;
  }
}

/* line 20178, 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 20185, 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 20190, 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 20198, 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 20207, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-header h5 i {
  color: #cc903c;
}

/* line 20212, 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 20222, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .pro-card .pro-card-body {
  padding: 1.25rem;
}

/* line 20228, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stocks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1rem;
}

/* line 20234, 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 20243, 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 20253, 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 20259, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-positive {
  --stock-color: #28a745;
}

/* line 20263, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card.stock-negative {
  --stock-color: #dc3545;
}

/* line 20267, 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 20273, 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 20280, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-header .stock-name {
  font-size: 0.75rem;
  color: #718096;
  margin-top: 2px;
}

/* line 20286, 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 20292, 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 20297, 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 20304, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
}

/* line 20310, 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 20318, 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 20323, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-prices .price-item .price-value.predicted {
  color: #cc903c;
}

/* line 20330, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .stock-card .stock-risks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* line 20335, 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 20347, 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 20353, 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 20361, 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 20370, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header h5 i {
  color: #6f42c1;
}

/* line 20375, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-header .chart-controls {
  display: flex;
  gap: 0.5rem;
}

/* line 20379, 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 20388, 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 20397, 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 20401, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .chart-card-pro .chart-body canvas {
  max-height: 350px;
}

/* line 20406, 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 20414, 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 20421, 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 20432, 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 20436, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* line 20441, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section:first-child {
  padding-top: 0;
}

/* line 20445, 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 20454, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section .section-title i {
  font-size: 0.9rem;
}

/* line 20459, 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 20465, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 20470, 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 20477, 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 20490, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.risks-section ul li::before {
  background: #dc3545;
}

/* line 20494, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.opportunities-section ul li::before {
  background: #28a745;
}

/* line 20498, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .summary-card-pro .summary-section.recommendations-section ul li::before {
  background: #6f42c1;
}

/* line 20505, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}

/* line 20511, 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 20518, 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 20523, 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 20529, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggestion-header .event-date {
  font-size: 0.8rem;
  font-weight: 600;
  color: #cc903c;
}

/* line 20535, 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 20545, 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 20552, 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 20558, 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 20564, app/assets/stylesheets/dashboard.scss */
.simulation-show-pro .suggestion-card .suggested-stock .stock-info .name {
  font-size: 0.75rem;
  color: #718096;
}

/* line 20570, 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 20582, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
  /* line 20586, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .suggestions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  /* line 20594, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stocks-grid {
    grid-template-columns: 1fr;
  }
  /* line 20598, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header {
    padding: 0.75rem 1rem;
  }
  /* line 20601, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-header h5 {
    font-size: 0.85rem;
  }
  /* line 20606, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .pro-card .pro-card-body {
    padding: 1rem;
  }
  /* line 20610, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card {
    padding: 0.875rem;
  }
  /* line 20613, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-header .stock-symbol {
    font-size: 1rem;
  }
  /* line 20617, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    gap: 1rem;
  }
  /* line 20620, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices .price-item .price-value {
    font-size: 0.9rem;
  }
  /* line 20627, 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 20633, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-header .chart-controls {
    width: 100%;
    justify-content: flex-end;
  }
  /* line 20639, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-body {
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  /* line 20648, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .stock-card .stock-prices {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 20653, app/assets/stylesheets/dashboard.scss */
  .simulation-show-pro .chart-card-pro .chart-legend {
    gap: 0.75rem;
    padding: 0.5rem 1rem;
  }
}

/* line 20668, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulations-content {
  padding: 0.75rem 0.5rem !important;
}

/* line 20673, 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 20679, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-header h5 {
  font-size: 0.9rem !important;
}

/* line 20685, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .simulation-card-pro {
  padding: 0.75rem !important;
  margin-bottom: 0.5rem !important;
}

/* line 20691, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .mb-4 {
  margin-bottom: 0.75rem !important;
}

/* line 20695, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulations-page .pro-card {
  margin-bottom: 0.75rem !important;
}

/* line 20702, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header {
  padding: 0.6rem 0.75rem !important;
}

/* line 20705, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-header h5 {
  font-size: 0.8rem !important;
}

/* line 20710, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .pro-card .pro-card-body {
  padding: 0.75rem !important;
}

/* line 20715, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header {
  padding: 0.5rem 0.75rem !important;
}

/* line 20718, app/assets/stylesheets/dashboard.scss */
body.webview-mode .simulation-show-pro .chart-card-pro .chart-header .chart-title {
  font-size: 0.85rem !important;
}

/* line 20723, 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 20732, app/assets/stylesheets/dashboard.scss */
  .simulations-page .simulations-content {
    padding: 0.75rem 0.5rem;
  }
  /* line 20739, 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 20752, 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 20759, 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 20767, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .mc-stat-card .mc-stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #f7f6f4;
}

/* line 20774, 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 20783, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card span {
  color: #a0aec0;
  font-size: 0.85rem;
}

/* line 20788, app/assets/stylesheets/dashboard.scss */
.monte-carlo-card .probability-card strong {
  margin-left: auto;
  font-size: 1rem;
}

/* line 20797, 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 20804, 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 20809, 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 20814, 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 20819, 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 20827, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-header i {
  font-size: 1rem;
}

/* line 20831, 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 20840, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-value {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 20846, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-return {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* line 20852, app/assets/stylesheets/dashboard.scss */
.stress-test-card .scenario-card .scenario-desc {
  color: #718096;
  font-size: 0.8rem;
  line-height: 1.4;
}

/* line 20859, 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 20867, app/assets/stylesheets/dashboard.scss */
.stress-test-card .recovery-estimate strong {
  color: #cc903c;
}

/* line 20876, app/assets/stylesheets/dashboard.scss */
.battle-card .battle-strategies-wrapper {
  width: 100%;
}

/* line 20880, 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 20880, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  /* line 20880, app/assets/stylesheets/dashboard.scss */
  .battle-card .battle-strategies-scroll {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* line 20895, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card-wrapper {
  min-width: 0;
}

/* line 20899, 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 20899, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card {
    padding: 0.85rem;
  }
}

/* line 20912, 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 20918, 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 20918, 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 20939, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .winner-badge i {
  font-size: 0.65rem;
}

@media (max-width: 768px) {
  /* line 20939, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .winner-badge i {
    font-size: 0.55rem;
  }
}

/* line 20948, 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 20948, 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 20964, 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 20964, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-return {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20975, 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 20975, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics {
    gap: 0.25rem;
    margin-bottom: 0.5rem;
  }
}

/* line 20986, 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 20986, app/assets/stylesheets/dashboard.scss */
  .battle-card .strategy-card .strategy-metrics > div {
    font-size: 0.7rem;
  }
}

/* line 20995, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div span {
  color: #718096;
}

/* line 20999, app/assets/stylesheets/dashboard.scss */
.battle-card .strategy-card .strategy-metrics > div strong {
  color: #a0aec0;
}

/* line 21005, 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 21005, 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 21022, 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 21022, app/assets/stylesheets/dashboard.scss */
  .battle-card .winner-reason {
    padding: 0.75rem;
    font-size: 0.8rem;
  }
}

/* line 21036, app/assets/stylesheets/dashboard.scss */
.battle-card .winner-reason strong {
  color: #cc903c;
}

@media (max-width: 768px) {
  /* line 21045, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card {
    padding: 0.75rem;
  }
  /* line 21048, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-label {
    font-size: 0.65rem;
    margin-bottom: 0.35rem;
  }
  /* line 21053, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .mc-stat-card .mc-stat-value {
    font-size: 0.95rem;
  }
  /* line 21058, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card {
    padding: 0.5rem 0.75rem;
    flex-wrap: wrap;
  }
  /* line 21062, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card span {
    font-size: 0.75rem;
  }
  /* line 21066, app/assets/stylesheets/dashboard.scss */
  .monte-carlo-card .probability-card strong {
    font-size: 0.9rem;
  }
  /* line 21072, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card {
    padding: 0.85rem;
  }
  /* line 21075, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-header {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }
  /* line 21080, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-value {
    font-size: 1.1rem;
  }
  /* line 21084, app/assets/stylesheets/dashboard.scss */
  .stress-test-card .scenario-card .scenario-return {
    font-size: 0.85rem;
  }
  /* line 21088, 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 21101, 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 21111, 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 21124, app/assets/stylesheets/dashboard.scss */
  .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 21128, app/assets/stylesheets/dashboard.scss */
  .stock-info-compact {
    padding-left: 0 !important;
  }
}

@media (max-width: 767px) {
  /* line 21138, 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 21149, 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 21165, 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 21170, 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 21177, 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 21181, 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 21185, 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 21189, 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 21196, 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 21206, 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 21218, app/assets/stylesheets/dashboard.scss */
#portfolioHistoryModal {
  z-index: 1060 !important;
}

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

/* line 21227, app/assets/stylesheets/dashboard.scss */
body.modal-open .modal-backdrop + #portfolioHistoryModal,
#portfolioHistoryModal.show {
  z-index: 1060 !important;
}

/* line 21232, 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 21237, 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 21241, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title {
  color: #f7f6f4;
  font-weight: 600;
  font-size: 1.1rem;
}

/* line 21246, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-header .modal-title i {
  color: #cc903c;
}

/* line 21252, app/assets/stylesheets/dashboard.scss */
.portfolio-history-modal-content .modal-body {
  padding: 1.5rem;
}

/* line 21258, app/assets/stylesheets/dashboard.scss */
.period-selector {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

/* line 21263, 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 21274, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn:hover {
  border-color: #cc903c;
  color: #cc903c;
}

/* line 21279, app/assets/stylesheets/dashboard.scss */
.period-selector .period-btn.active {
  background: #cc903c;
  border-color: #cc903c;
  color: #000;
}

/* line 21288, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display {
  text-align: center;
}

/* line 21291, 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 21297, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value {
  font-size: 1.5rem;
  font-weight: 700;
}

/* line 21301, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.positive {
  color: #22c55e;
}

/* line 21305, app/assets/stylesheets/dashboard.scss */
.portfolio-pl-display .pl-value.negative {
  color: #ef4444;
}

/* line 21312, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

/* line 21317, app/assets/stylesheets/dashboard.scss */
.portfolio-chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 21324, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 1rem;
}

/* line 21329, 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 21337, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f7f6f4;
}

/* line 21342, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.positive {
  color: #22c55e;
}

/* line 21346, app/assets/stylesheets/dashboard.scss */
.portfolio-metrics .metric-value.negative {
  color: #ef4444;
}

@media (max-width: 576px) {
  /* line 21357, app/assets/stylesheets/dashboard.scss */
  #portfolioHistoryModal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 21363, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content {
    border-radius: 12px;
  }
  /* line 21366, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header {
    padding: 0.75rem 1rem;
  }
  /* line 21369, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-header .modal-title {
    font-size: 1rem;
  }
  /* line 21374, app/assets/stylesheets/dashboard.scss */
  .portfolio-history-modal-content .modal-body {
    padding: 1rem;
  }
  /* line 21379, app/assets/stylesheets/dashboard.scss */
  .period-selector {
    flex-wrap: wrap;
    gap: 0.35rem;
  }
  /* line 21383, app/assets/stylesheets/dashboard.scss */
  .period-selector .period-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.75rem;
    min-width: auto;
  }
  /* line 21391, app/assets/stylesheets/dashboard.scss */
  .portfolio-pl-display .pl-value {
    font-size: 1.25rem;
  }
  /* line 21396, app/assets/stylesheets/dashboard.scss */
  .portfolio-chart-container {
    padding: 0.5rem;
    height: 220px !important;
  }
  /* line 21401, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics {
    padding: 0.75rem;
  }
  /* line 21404, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-label {
    font-size: 0.65rem;
  }
  /* line 21408, app/assets/stylesheets/dashboard.scss */
  .portfolio-metrics .metric-value {
    font-size: 0.95rem;
  }
}

@media (min-width: 1440px) {
  /* line 21418, app/assets/stylesheets/dashboard.scss */
  .dashboard-transaction-dropdown {
    margin-left: 0.5rem !important;
  }
  /* line 21422, app/assets/stylesheets/dashboard.scss */
  .trades-dropdown-btn {
    padding: 10px !important;
    font-size: 0.8rem !important;
  }
}

/* line 21432, app/assets/stylesheets/dashboard.scss */
.fundamentals-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 21437, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

/* line 21444, 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 21454, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-title i {
  color: #cc903c;
}

/* line 21459, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fundamentals-updated {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.35);
}

/* line 21464, 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 21464, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  /* line 21464, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: 1fr;
  }
}

/* line 21478, 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 21484, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.valuation {
  border-left-color: #e0bc8a;
}

/* line 21485, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.market {
  border-left-color: #00b4d8;
}

/* line 21486, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.profitability {
  border-left-color: #22c55e;
}

/* line 21487, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block.balance {
  border-left-color: #cc903c;
}

/* line 21490, 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 21498, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-block-title i {
  margin-right: 0.3rem;
}

/* line 21500, app/assets/stylesheets/dashboard.scss */
.valuation .fundamentals-section .fund-block-title {
  color: #e0bc8a;
}

/* line 21501, app/assets/stylesheets/dashboard.scss */
.market .fundamentals-section .fund-block-title {
  color: #00b4d8;
}

/* line 21502, app/assets/stylesheets/dashboard.scss */
.profitability .fundamentals-section .fund-block-title {
  color: #22c55e;
}

/* line 21503, app/assets/stylesheets/dashboard.scss */
.balance .fundamentals-section .fund-block-title {
  color: #cc903c;
}

/* line 21506, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* line 21512, 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 21521, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* line 21527, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-high .fund-value {
  color: #ff6b6b;
}

/* line 21530, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-warn-low .fund-value {
  color: #cc903c;
}

/* line 21533, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-good .fund-value {
  color: #22c55e;
}

/* line 21536, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-metric.fund-neutral .fund-value {
  color: #00b4d8;
}

/* line 21540, 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 21546, 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 21552, app/assets/stylesheets/dashboard.scss */
.fundamentals-section .fund-label .fund-info-icon:hover {
  color: rgba(255, 255, 255, 0.6);
}

/* line 21556, 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 21567, 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 21575, 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 21588, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fundamentals-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 21593, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block {
    padding: 0.6rem;
  }
  /* line 21597, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-block-title {
    font-size: 0.55rem;
  }
  /* line 21601, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-label {
    font-size: 0.6rem;
  }
  /* line 21605, app/assets/stylesheets/dashboard.scss */
  .fundamentals-section .fund-value {
    font-size: 0.68rem;
  }
}

@media (max-width: 380px) {
  /* line 21611, 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 21626, app/assets/stylesheets/dashboard.scss */
.search-skeleton-state {
  padding: 0.25rem 0;
}

/* line 21630, 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 21639, app/assets/stylesheets/dashboard.scss */
.search-skeleton-spinner i {
  color: #cc903c;
  font-size: 0.9rem;
}

/* line 21642, 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 21649, app/assets/stylesheets/dashboard.scss */
.search-skeleton-row:last-child {
  border-bottom: none;
}

/* line 21652, 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 21662, app/assets/stylesheets/dashboard.scss */
.search-skeleton-lines {
  flex: 1;
  min-width: 0;
}

/* line 21667, 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 21674, app/assets/stylesheets/dashboard.scss */
.search-skeleton-btns {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

/* line 21680, 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 21692, 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 21703, 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 21714, 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 21719, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed::before {
  opacity: 0.3;
}

/* line 21723, app/assets/stylesheets/dashboard.scss */
.today-actions-section.is-collapsed .today-actions-header {
  border-bottom-color: transparent;
}

/* line 21728, 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 21738, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:hover {
  background: rgba(204, 144, 60, 0.03);
}

/* line 21742, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-header:active {
  background: rgba(204, 144, 60, 0.05);
}

/* line 21747, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-title-group {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

/* line 21753, 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 21765, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-icon-wrap i {
  color: #cc903c;
  font-size: 0.6rem;
}

/* line 21771, 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 21779, 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 21793, 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 21804, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 21808, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-chevron.rotated {
  transform: rotate(-90deg);
}

/* line 21813, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body {
  padding: 0.6rem 1.1rem 0.85rem;
}

/* line 21816, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-body.collapsed {
  display: none;
}

/* line 21821, app/assets/stylesheets/dashboard.scss */
.today-actions-section .today-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

/* line 21828, 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 21838, 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 21843, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-buy {
  border-left: 3px solid #22c55e;
}

/* line 21846, 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 21858, app/assets/stylesheets/dashboard.scss */
.today-action-card.action-sell {
  border-left: 3px solid #ff6b6b;
}

/* line 21861, 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 21873, 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 21881, 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 21892, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-buy {
  background: rgba(204, 144, 60, 0.15);
  color: #22c55e;
}

/* line 21897, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-badge.action-sell {
  background: rgba(255, 107, 107, 0.15);
  color: #ff6b6b;
}

/* line 21903, 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 21910, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-confidence i {
  font-size: 0.55rem;
  color: #cc903c;
}

/* line 21916, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-stock {
  margin-bottom: 0.3rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 21923, 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 21930, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-name {
  font-size: 0.7rem;
  color: #64748b;
}

/* line 21935, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}

/* line 21942, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-price {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 21948, 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 21957, 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 21963, 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 21969, 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 21976, 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 21989, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-card.has-swap {
  padding-bottom: 0;
}

/* line 21993, 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 22003, 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 22014, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-arrow i {
  font-size: 0.55rem;
}

/* line 22019, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-target {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 22026, 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 22036, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

/* line 22041, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-symbol {
  font-size: 0.75rem;
  font-weight: 700;
}

/* line 22046, app/assets/stylesheets/dashboard.scss */
.today-action-card .today-action-swap-stock .today-action-name {
  font-size: 0.6rem;
}

/* line 22051, 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 22060, app/assets/stylesheets/dashboard.scss */
.today-actions-header-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* line 22066, 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 22080, 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 22086, 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 22094, 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 22113, app/assets/stylesheets/dashboard.scss */
.today-action-card:hover .today-action-check-btn {
  opacity: 1;
}

/* line 22117, 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 22126, 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 22139, app/assets/stylesheets/dashboard.scss */
.today-action-completed-overlay i {
  font-size: 1.5rem;
  color: #cc903c;
}

/* line 22147, app/assets/stylesheets/dashboard.scss */
.today-action-card.completing .today-action-completed-overlay {
  opacity: 1;
  animation: completePulse 0.5s ease;
}

/* line 22152, 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 22164, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed {
  opacity: 0.45;
  filter: grayscale(0.4);
}

/* line 22168, 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 22175, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed .today-action-completed-overlay {
  opacity: 0;
}

/* line 22179, app/assets/stylesheets/dashboard.scss */
.today-action-card.is-completed:hover {
  opacity: 0.65;
}

/* line 22185, 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 22195, app/assets/stylesheets/dashboard.scss */
.today-actions-all-done i {
  font-size: 1rem;
}

@media (max-width: 992px) {
  /* line 22203, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.75rem 1rem 0.85rem;
  }
  /* line 22207, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.55rem;
  }
  /* line 22212, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 28px;
    height: 28px;
    border-radius: 5px;
  }
  /* line 22219, app/assets/stylesheets/dashboard.scss */
  .today-action-card {
    padding: 0.7rem 0.75rem;
  }
  /* line 22222, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge {
    font-size: 0.62rem;
    padding: 0.2rem 0.45rem;
    gap: 0.25rem;
  }
  /* line 22227, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.56rem;
  }
  /* line 22230, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    white-space: normal;
  }
  /* line 22234, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    display: inline;
    font-size: 0.64rem;
  }
  /* line 22239, 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 22249, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  /* line 22257, app/assets/stylesheets/dashboard.scss */
  .today-actions-section {
    border-radius: 12px;
    margin-bottom: 0.65rem;
  }
  /* line 22261, app/assets/stylesheets/dashboard.scss */
  .today-actions-section::before {
    height: 1.5px;
  }
  /* line 22265, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-header {
    padding: 0.6rem 0.85rem;
  }
  /* line 22269, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-body {
    padding: 0.5rem 0.75rem 0.65rem;
  }
  /* line 22273, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-grid {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  /* line 22278, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-title {
    font-size: 0.78rem;
  }
  /* line 22282, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap {
    width: 26px;
    height: 26px;
    border-radius: 5px;
  }
  /* line 22287, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-icon-wrap i {
    font-size: 0.6rem;
  }
  /* line 22290, app/assets/stylesheets/dashboard.scss */
  .today-actions-section .today-actions-count {
    min-width: 16px;
    height: 16px;
    font-size: 0.55rem;
  }
  /* line 22297, 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 22308, app/assets/stylesheets/dashboard.scss */
  .today-action-card::after {
    display: none;
  }
  /* line 22309, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-buy {
    border-left-color: #22c55e;
  }
  /* line 22310, app/assets/stylesheets/dashboard.scss */
  .today-action-card.action-sell {
    border-left-color: #ff6b6b;
  }
  /* line 22311, app/assets/stylesheets/dashboard.scss */
  .today-action-card:hover {
    background: rgba(255, 255, 255, 0.04);
  }
  /* line 22313, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge-row {
    flex-shrink: 0;
    margin-bottom: 0;
  }
  /* line 22318, 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 22324, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-badge i {
    font-size: 0.58rem;
  }
  /* line 22327, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-confidence {
    display: none;
  }
  /* line 22331, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-stock {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
  }
  /* line 22337, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-symbol {
    font-size: 0.78rem;
  }
  /* line 22341, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-name {
    font-size: 0.65rem;
    color: #64748b;
  }
  /* line 22346, app/assets/stylesheets/dashboard.scss */
  .today-action-card .today-action-price {
    flex-shrink: 0;
    margin-bottom: 0;
    font-size: 0.72rem;
    color: #64748b;
  }
  /* line 22353, 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 22365, 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 22380, 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 22390, app/assets/stylesheets/dashboard.scss */
.stock-followers-count i {
  font-size: 0.55rem;
}

/* line 22394, app/assets/stylesheets/dashboard.scss */
.stock-followers-count[data-tooltip] {
  cursor: default;
}

/* line 22397, 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 22407, 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 22422, 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 22431, 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 22442, 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 22455, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle:hover {
  background: rgba(204, 144, 60, 0.25);
  transform: scale(1.1);
}

/* line 22460, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i {
  font-size: 0.7rem;
  color: #cc903c;
}

/* line 22464, app/assets/stylesheets/dashboard.scss */
.watchlist-alert-toggle i.fa-bell-slash {
  color: #6b7280;
}

/* line 22470, 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 22473, 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 22482, 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 22493, app/assets/stylesheets/dashboard.scss */
.today-actions-gate i {
  font-size: 0.8rem;
}

/* line 22497, app/assets/stylesheets/dashboard.scss */
.today-actions-gate span {
  font-size: 0.8rem;
}

/* line 22502, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  opacity: 0.45;
  cursor: default;
}

/* line 22509, app/assets/stylesheets/dashboard.scss */
.coming-soon-switch .form-check-input {
  cursor: not-allowed;
  margin-top: 0;
}

/* line 22514, 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 22522, app/assets/stylesheets/dashboard.scss */
.prediction-refresh-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 22527, 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 22541, 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 22547, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh:active {
  transform: translateY(0);
}

/* line 22551, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh i {
  font-size: 0.7rem;
}

/* line 22556, 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 22564, 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 22571, 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 22579, app/assets/stylesheets/dashboard.scss */
.stock-refresh-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
}

/* line 22587, 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 22596, 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 22613, app/assets/stylesheets/dashboard.scss */
.stock-refresh-message {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.02em;
}

/* line 22619, 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 22630, 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 22637, app/assets/stylesheets/dashboard.scss */
.mobile-j1-refreshing .stock-refresh-message {
  font-size: 0.6rem;
  white-space: nowrap;
}

/* line 22643, app/assets/stylesheets/dashboard.scss */
.mobile-j1-stale {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

/* line 22650, 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 22664, 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 22669, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile:active {
  transform: scale(0.96);
}

/* line 22673, app/assets/stylesheets/dashboard.scss */
.btn-stock-refresh-mobile i {
  font-size: 0.65rem;
}

/* line 22678, app/assets/stylesheets/dashboard.scss */
.stock-refresh-tooltip-anchor {
  position: relative;
  display: inline-block;
}

/* line 22682, app/assets/stylesheets/dashboard.scss */
.stock-refresh-tooltip-anchor:hover .stock-refresh-all-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* line 22689, 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 22710, 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 22723, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .refresh-all-text {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}

/* line 22728, 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 22739, 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 22744, app/assets/stylesheets/dashboard.scss */
.stock-refresh-all-tooltip .btn-refresh-all-link i {
  font-size: 0.6rem;
  margin-right: 4px;
}

/* line 22758, 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 22764, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 22771, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-ident {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

/* line 22778, 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 22788, 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 22797, app/assets/stylesheets/dashboard.scss */
.company-profile-card .company-profile-meta .company-profile-ticker {
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #cc903c;
}

/* line 22803, 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 22815, 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 22822, 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 22830, 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 22847, 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 22851, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-name {
  font-size: 0.9rem;
  white-space: normal;
}

/* line 22856, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-meta {
  font-size: 0.66rem;
}

/* line 22860, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-text {
  font-size: 0.76rem;
  max-width: 105ch;
}

/* line 22865, app/assets/stylesheets/dashboard.scss */
.company-profile-card.company-profile-strip .company-profile-more {
  font-size: 0.7rem;
}

@media (max-width: 575.98px) {
  /* line 22872, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-name {
    font-size: 0.8rem;
  }
  /* line 22873, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-text {
    font-size: 0.72rem;
  }
  /* line 22874, app/assets/stylesheets/dashboard.scss */
  .company-profile-card .company-profile-more {
    font-size: 0.7rem;
  }
}

/* line 22884, 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 22895, 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 22903, 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 22914, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-sm {
  width: 26px;
  height: 26px;
}

/* line 22917, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-sm .stock-logo-initials {
  font-size: 0.6rem;
}

/* line 22920, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-md {
  width: 32px;
  height: 32px;
  border-radius: 7px;
}

/* line 22924, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-md .stock-logo-initials {
  font-size: 0.7rem;
}

/* line 22927, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-lg {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}

/* line 22931, app/assets/stylesheets/dashboard.scss */
.stock-logo.stock-logo-lg .stock-logo-initials {
  font-size: 0.85rem;
}

/* line 22952, app/assets/stylesheets/dashboard.scss */
.simulations-index .simulations-content {
  padding: 2rem;
}

/* line 22956, 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 22970, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mobile-cta {
  margin-bottom: 1rem;
}

/* line 22972, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mobile-cta .btn {
  min-height: 48px;
}

/* line 22976, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-toolbar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 1.25rem;
}

/* line 22983, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search {
  position: relative;
  display: flex;
  align-items: center;
}

/* line 22989, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-icon {
  position: absolute;
  left: 14px;
  font-size: 13px;
  color: #64748b;
  pointer-events: none;
}

/* line 22997, 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 23009, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-input::placeholder {
  color: #64748b;
}

/* line 23011, 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 23018, 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 23031, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-search-clear:hover {
  color: #f7f6f4;
  background: rgba(255, 255, 255, 0.06);
}

/* line 23035, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

/* line 23042, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chips::-webkit-scrollbar {
  display: none;
}

/* line 23045, 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 23061, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-chip:hover {
  color: #f7f6f4;
}

/* line 23063, 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 23070, 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 23078, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}

/* line 23084, 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 23093, 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 23096, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

/* line 23103, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-card-ident {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 23110, 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 23122, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode i {
  font-size: 10px;
}

/* line 23126, 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 23138, 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 23150, 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 23151, 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 23154, 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 23162, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-dates i {
  font-size: 10px;
}

/* line 23165, 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 23174, 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 23183, 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 23192, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row strong {
  color: #f7f6f4;
  font-variant-numeric: tabular-nums;
}

/* line 23193, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row .is-negative strong {
  color: #ff6b6b;
}

/* line 23194, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-mode-row i {
  font-size: 11px;
}

/* line 23197, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-outcome {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
}

/* line 23204, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-return {
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

/* line 23210, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-return.is-positive {
  color: #22c55e;
}

/* line 23211, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-return.is-negative {
  color: #ff6b6b;
}

/* line 23214, 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 23222, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-outcome-flow i {
  font-size: 9px;
}

/* line 23225, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-events {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 23231, 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 23242, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-event i {
  font-size: 9px;
}

/* line 23244, 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 23251, 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 23259, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-state.sim-state--error {
  color: #ff6b6b;
}

/* line 23260, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-state i {
  font-size: 12px;
  flex-shrink: 0;
}

/* line 23263, 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 23272, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-time {
  font-size: 11.5px;
  color: #64748b;
}

/* line 23277, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 23283, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-delete-form {
  margin: 0;
}

/* line 23285, 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 23300, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn:active {
  transform: scale(0.97);
}

/* line 23302, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn.sim-btn--icon {
  width: 36px;
  padding: 0;
  color: #64748b;
}

/* line 23307, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn.sim-btn--icon:hover {
  color: #f7f6f4;
}

/* line 23310, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-btn.sim-btn--delete:hover {
  color: #ff6b6b;
  border-color: rgba(239, 68, 68, 0.3);
}

/* line 23317, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination {
  display: flex;
  justify-content: center;
  margin-top: 1.75rem;
}

/* line 23322, 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 23331, 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 23349, 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 23357, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-pagination .page-item.disabled .page-link,
.simulations-index .sim-pagination .disabled {
  opacity: 0.4;
}

/* line 23362, 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 23370, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty h4 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 400;
  color: #f7f6f4;
}

/* line 23377, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty p {
  margin: 0 0 8px;
  font-size: 0.9rem;
  color: #94a3b8;
  max-width: 34ch;
}

/* line 23383, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty p:empty {
  display: none;
}

/* line 23387, app/assets/stylesheets/dashboard.scss */
.simulations-index .sim-empty-icon {
  font-size: 1.75rem;
  color: #64748b;
  margin-bottom: 4px;
}

@media (max-width: 767px) {
  /* line 23396, app/assets/stylesheets/dashboard.scss */
  .simulations-index .simulations-content {
    padding: 0 1rem 5rem;
  }
  /* line 23398, app/assets/stylesheets/dashboard.scss */
  .simulations-index .sim-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  /* line 23405, 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 23423, 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 23426, 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 23438, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section::before {
    height: 3px;
    opacity: 1;
  }
  /* line 23443, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section .action-graph-header {
    padding: 0.85rem 1.15rem;
  }
  /* line 23447, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .action-graph-section .action-graph-title-group {
    font-size: 1.02rem;
  }
  /* line 23453, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .section-header.portfolio-header-row {
    margin-bottom: 0.5rem;
  }
  /* line 23457, 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 23464, app/assets/stylesheets/dashboard.scss */
  .dashboard-container .stocks-section .dashboard-table-wrapper {
    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 23494, app/assets/stylesheets/dashboard.scss */
.dash-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 23501, 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 23525, app/assets/stylesheets/dashboard.scss */
.dash-tip-content strong {
  color: #fff;
  font-weight: 600;
}

/* line 23526, app/assets/stylesheets/dashboard.scss */
.dash-tip-content em {
  color: rgba(255, 255, 255, 0.65);
  font-style: normal;
}

/* line 23528, 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 23534, 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 23551, 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 23559, app/assets/stylesheets/dashboard.scss */
.dash-tip:focus {
  outline: none;
}

/* line 23561, 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 23572, app/assets/stylesheets/dashboard.scss */
.dash-tip--below .dash-tip-content {
  bottom: auto;
  top: calc(100% + 8px);
}

/* line 23576, 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 23585, app/assets/stylesheets/dashboard.scss */
.dash-tip--end .dash-tip-content {
  left: auto;
  right: 0;
  transform: none;
}

/* line 23590, 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 23595, app/assets/stylesheets/dashboard.scss */
.action-graph-section .dash-tip-content {
  left: 0;
  right: auto;
  transform: none;
  max-width: 260px;
}

/* line 23601, app/assets/stylesheets/dashboard.scss */
.action-graph-section .dash-tip-content::after {
  left: 14px;
  right: auto;
  transform: none;
}

/* line 23608, app/assets/stylesheets/dashboard.scss */
.ag-condition-banner.dash-tip,
.fund-row.dash-tip {
  display: flex;
  width: 100%;
}

/* line 23623, app/assets/stylesheets/dashboard.scss */
.tab-page-content {
  padding: 0 2rem;
}

@media (max-width: 991.98px) {
  /* line 23628, app/assets/stylesheets/dashboard.scss */
  .tab-page-content {
    padding: 0 1rem;
  }
}

@media (max-width: 767.98px) {
  /* line 23632, app/assets/stylesheets/dashboard.scss */
  .tab-page-content {
    padding: 0 0.75rem;
  }
}

/* line 23640, app/assets/stylesheets/dashboard.scss */
.market-closed-banner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 14px;
  overflow: hidden;
  background: radial-gradient(120% 170% at 0% 0%, rgba(204, 144, 60, 0.16) 0%, rgba(204, 144, 60, 0) 42%), linear-gradient(135deg, #111825 0%, #0a1020 100%);
  border: 1px solid rgba(204, 144, 60, 0.24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 28px rgba(0, 6, 21, 0.35);
}

/* line 23656, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__sky {
  position: relative;
  flex: 0 0 54px;
  height: 54px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(224, 188, 138, 0.12) 0%, rgba(224, 188, 138, 0) 70%);
}

/* line 23665, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__moon {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  box-shadow: inset 10px -5px 0 0 #e0bc8a;
  transform: rotate(-18deg);
  filter: drop-shadow(0 0 10px rgba(224, 188, 138, 0.55));
}

/* line 23677, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__star {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #f7f6f4;
  animation: nv-star-twinkle 3.4s ease-in-out infinite;
}

/* line 23685, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__star.is-1 {
  top: 4px;
  right: 6px;
}

/* line 23686, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__star.is-2 {
  bottom: 6px;
  right: 0;
  width: 2px;
  height: 2px;
  animation-delay: 1.2s;
}

/* line 23687, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__star.is-3 {
  top: 26px;
  left: 0;
  width: 2px;
  height: 2px;
  animation-delay: 2.1s;
}

@keyframes nv-star-twinkle {
  0%, 100% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.9;
  }
}

/* line 23695, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__body {
  min-width: 0;
}

/* line 23697, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #f7f6f4;
}

/* line 23705, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__lead {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #94a3b8;
}

/* line 23712, app/assets/stylesheets/dashboard.scss */
.market-closed-banner__markets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.7rem;
}

/* line 23719, app/assets/stylesheets/dashboard.scss */
.market-closed-chip {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(0, 6, 21, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 0.74rem;
  color: #cbd5e1;
}

/* line 23732, app/assets/stylesheets/dashboard.scss */
.market-closed-chip__name {
  font-weight: 600;
  color: #f7f6f4;
}

/* line 23734, app/assets/stylesheets/dashboard.scss */
.market-closed-chip__tag {
  padding: 0.05rem 0.5rem;
  border-radius: 999px;
  background: rgba(204, 144, 60, 0.14);
  color: #e0bc8a;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* line 23745, app/assets/stylesheets/dashboard.scss */
.market-closed-chip__dates {
  color: #94a3b8;
}

/* line 23748, app/assets/stylesheets/dashboard.scss */
.market-closed-chip__dates strong {
  color: #e0bc8a;
  font-weight: 600;
}

/* line 23751, app/assets/stylesheets/dashboard.scss */
.market-closed-chip__arrow {
  margin: 0 0.2rem;
  opacity: 0.5;
}

/* line 23753, app/assets/stylesheets/dashboard.scss */
.market-closed-chip.is-open {
  border-color: rgba(34, 197, 94, 0.22);
}

/* line 23756, app/assets/stylesheets/dashboard.scss */
.market-closed-chip.is-open .market-closed-chip__tag {
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
  text-transform: none;
  letter-spacing: 0;
}

@media (max-width: 768px) {
  /* line 23765, app/assets/stylesheets/dashboard.scss */
  .market-closed-banner {
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.9rem 1rem;
  }
  /* line 23771, app/assets/stylesheets/dashboard.scss */
  .market-closed-banner__sky {
    flex-basis: 40px;
    height: 40px;
  }
  /* line 23773, app/assets/stylesheets/dashboard.scss */
  .market-closed-banner__moon {
    top: 8px;
    left: 8px;
    width: 24px;
    height: 24px;
    box-shadow: inset 7px -4px 0 0 #e0bc8a;
  }
  /* line 23775, app/assets/stylesheets/dashboard.scss */
  .market-closed-chip {
    border-radius: 12px;
  }
}

/* line 23779, app/assets/stylesheets/dashboard.scss */
.dated-value {
  opacity: 0.55;
  filter: grayscale(0.35);
  transition: opacity 0.2s ease, filter 0.2s ease;
}

/* line 23785, app/assets/stylesheets/dashboard.scss */
.stock-row.is-dated:hover .dated-value,
.mdr-stock-card.is-dated:hover .dated-value {
  opacity: 0.85;
  filter: none;
}

/* line 23791, app/assets/stylesheets/dashboard.scss */
.stock-row.is-dated .mobile-j1-display:not(.mobile-j1-refreshing),
.mdr-stock-card.is-dated .mdr-meta-value {
  opacity: 0.6;
}

/* line 23796, app/assets/stylesheets/dashboard.scss */
.freshness-pill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 6px;
  padding: 3px 3px 3px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
  vertical-align: middle;
}

/* line 23811, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-closed {
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.1);
  border-color: rgba(204, 144, 60, 0.28);
}

/* line 23817, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-late {
  color: #cbd5e1;
  background: rgba(148, 163, 184, 0.08);
  border-color: rgba(148, 163, 184, 0.2);
}

/* line 23822, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-late .freshness-pill__label i {
  color: #cc903c;
}

/* line 23826, app/assets/stylesheets/dashboard.scss */
.freshness-pill:not(:has(.freshness-pill__refresh)) {
  padding-right: 9px;
}

/* line 23829, app/assets/stylesheets/dashboard.scss */
.freshness-pill__label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: help;
}

/* line 23835, app/assets/stylesheets/dashboard.scss */
.freshness-pill__label i {
  font-size: 0.6rem;
}

/* line 23838, app/assets/stylesheets/dashboard.scss */
.freshness-pill__refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: 3px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(204, 144, 60, 0.18);
  color: #e0bc8a;
  font-size: 0.58rem;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.35s ease;
}

/* line 23854, app/assets/stylesheets/dashboard.scss */
.freshness-pill__refresh:hover {
  background: rgba(204, 144, 60, 0.32);
  transform: rotate(120deg);
}

/* line 23855, app/assets/stylesheets/dashboard.scss */
.freshness-pill__refresh:focus-visible {
  outline: 2px solid #cc903c;
  outline-offset: 1px;
}

/* line 23857, app/assets/stylesheets/dashboard.scss */
.freshness-pill__refresh.is-off {
  background: transparent;
  color: rgba(148, 163, 184, 0.55);
  cursor: not-allowed;
}

/* line 23862, app/assets/stylesheets/dashboard.scss */
.freshness-pill__refresh.is-off:hover {
  transform: none;
}

/* line 23866, app/assets/stylesheets/dashboard.scss */
.freshness-pill__spinner {
  display: none;
  margin: 0 4px;
  font-size: 0.6rem;
  color: #e0bc8a;
}

/* line 23867, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-loading .freshness-pill__spinner {
  display: inline-block;
}

/* line 23868, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-loading .freshness-pill__refresh {
  display: none;
}

/* line 23872, app/assets/stylesheets/dashboard.scss */
.mdr-freshness-row {
  display: flex;
  margin-top: 8px;
}

/* line 23876, app/assets/stylesheets/dashboard.scss */
.mdr-freshness-row .freshness-pill {
  margin-top: 0;
}

/* line 23878, app/assets/stylesheets/dashboard.scss */
.trade-plan-title .freshness-pill {
  margin: 0 0 0 0.5rem;
}

/* line 23881, app/assets/stylesheets/dashboard.scss */
.data-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
  padding: 0.9rem 1.1rem;
  border-radius: 12px;
  border: 1px solid rgba(204, 144, 60, 0.24);
  background: radial-gradient(120% 170% at 0% 0%, rgba(204, 144, 60, 0.12) 0%, rgba(204, 144, 60, 0) 45%), linear-gradient(135deg, #111825 0%, #0a1020 100%);
}

/* line 23893, app/assets/stylesheets/dashboard.scss */
.data-notice.is-late {
  border-color: rgba(148, 163, 184, 0.22);
}

/* line 23896, app/assets/stylesheets/dashboard.scss */
.data-notice__icon {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  height: 34px;
  border-radius: 50%;
  background: rgba(204, 144, 60, 0.14);
  color: #e0bc8a;
  font-size: 0.9rem;
}

/* line 23908, app/assets/stylesheets/dashboard.scss */
.data-notice__title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: #f7f6f4;
}

/* line 23909, app/assets/stylesheets/dashboard.scss */
.data-notice__message {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #94a3b8;
}

@media (prefers-reduced-motion: reduce) {
  /* line 23912, app/assets/stylesheets/dashboard.scss */
  .market-closed-banner__star {
    animation: none;
    opacity: 0.6;
  }
  /* line 23913, app/assets/stylesheets/dashboard.scss */
  .freshness-pill__refresh:hover {
    transform: none;
  }
}

/* line 23917, app/assets/stylesheets/dashboard.scss */
.card-j1-display:has(> .freshness-pill) {
  flex-direction: column !important;
  align-items: center !important;
}

/* line 23922, app/assets/stylesheets/dashboard.scss */
.card-j1-display > .freshness-pill {
  margin-top: 6px;
}

/* line 23925, app/assets/stylesheets/dashboard.scss */
.freshness-pill .freshness-pill__refresh {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0 0 3px !important;
  padding: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

/* line 23938, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-new {
  color: #cbd5e1;
  background: rgba(204, 144, 60, 0.05);
  border: 1px dashed rgba(204, 144, 60, 0.38);
}

/* line 23943, app/assets/stylesheets/dashboard.scss */
.freshness-pill.is-new .freshness-pill__label i {
  color: #cc903c;
}

/* line 23946, app/assets/stylesheets/dashboard.scss */
.prediction-refresh-cell .freshness-pill {
  margin-top: 0;
}

/* line 23950, app/assets/stylesheets/dashboard.scss */
.stock-refresh-message.is-failed {
  display: block;
  margin-top: 4px;
  color: #e0bc8a;
}

/* line 23956, app/assets/stylesheets/dashboard.scss */
.mdr-freshness-row .stock-refresh-message.is-failed {
  align-self: center;
  margin: 0 0 0 8px;
}

/* line 23970, app/assets/stylesheets/dashboard.scss */
.free-sample-badge {
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
  cursor: help;
}

/* line 23975, app/assets/stylesheets/dashboard.scss */
.free-sample-badge .fa-gift {
  color: var(--color-success, #22c55e) !important;
}

/* line 23977, app/assets/stylesheets/dashboard.scss */
.free-sample-badge .btn-details-text {
  color: var(--color-success, #22c55e) !important;
}

/* line 23979, app/assets/stylesheets/dashboard.scss */
.free-sample-badge:hover {
  background: rgba(34, 197, 94, 0.2) !important;
  border-color: rgba(34, 197, 94, 0.5) !important;
}

/* line 23989, app/assets/stylesheets/dashboard.scss */
.free-sample-badge--card {
  display: inline-flex !important;
  align-items: center;
  color: var(--color-success, #22c55e) !important;
  gap: 4px;
}

/* line 24012, app/assets/stylesheets/dashboard.scss */
.details-cell .details-ai-pair {
  display: inline-flex;
  align-items: stretch;
  vertical-align: middle;
  gap: 0.35rem;
  min-width: 0;
}

/* line 24021, app/assets/stylesheets/dashboard.scss */
.dashboard-container table.stocks-table td.details-cell .details-ai-pair .free-sample-badge {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: stretch !important;
  flex: 0 0 auto !important;
}

/* line 24033, app/assets/stylesheets/dashboard.scss */
.free-sample-note {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 0.8125rem;
  line-height: 1.4;
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.18);
  color: var(--text-secondary, #94a3b8);
}

/* line 24047, app/assets/stylesheets/dashboard.scss */
.free-sample-note i {
  color: var(--color-success, #22c55e);
  flex-shrink: 0;
}

/* line 24050, app/assets/stylesheets/dashboard.scss */
.free-sample-note--spent {
  background: rgba(var(--accent-primary-rgb, 204, 144, 60), 0.08);
  border-color: rgba(var(--accent-primary-rgb, 204, 144, 60), 0.2);
}

/* line 24054, app/assets/stylesheets/dashboard.scss */
.free-sample-note--spent i {
  color: var(--accent-primary, #c9944e);
}

/* line 24058, app/assets/stylesheets/dashboard.scss */
.free-sample-note-text {
  flex: 1 1 auto;
  min-width: 0;
}

/* line 24060, app/assets/stylesheets/dashboard.scss */
.free-sample-note-cta {
  flex-shrink: 0;
  font-weight: 600;
  color: var(--accent-primary, #c9944e);
  text-decoration: none;
  white-space: nowrap;
}

/* line 24067, app/assets/stylesheets/dashboard.scss */
.free-sample-note-cta:hover {
  text-decoration: underline;
}

@media (max-width: 575.98px) {
  /* line 24072, app/assets/stylesheets/dashboard.scss */
  .free-sample-note {
    padding: 8px 12px;
    font-size: 0.75rem;
  }
  /* line 24077, app/assets/stylesheets/dashboard.scss */
  .free-sample-note-text {
    flex: 1 1 100%;
  }
}

/* line 24085, app/assets/stylesheets/dashboard.scss */
.visit-tip-slot {
  display: grid;
  grid-template-rows: 1fr;
  margin-bottom: 1rem;
  transition: grid-template-rows 0.28s ease, margin 0.28s ease, opacity 0.2s ease;
}

/* line 24091, app/assets/stylesheets/dashboard.scss */
.visit-tip-slot.is-leaving {
  grid-template-rows: 0fr;
  margin-top: 0;
  margin-bottom: 0;
  opacity: 0;
  pointer-events: none;
}

/* line 24100, app/assets/stylesheets/dashboard.scss */
.visit-tip-slot__inner {
  min-height: 0;
}

/* line 24101, app/assets/stylesheets/dashboard.scss */
.visit-tip-slot.is-leaving .visit-tip-slot__inner {
  overflow: hidden;
}

/* line 24104, app/assets/stylesheets/dashboard.scss */
.visit-tip {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas: "icon eyebrow cta close" "icon title cta close" "icon text cta close";
  align-items: center;
  column-gap: 1rem;
  padding: 0.85rem 0.85rem 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(204, 144, 60, 0.24);
  background: radial-gradient(120% 170% at 0% 0%, rgba(204, 144, 60, 0.16) 0%, rgba(204, 144, 60, 0) 42%), linear-gradient(135deg, #111825 0%, #0a1020 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 28px rgba(0, 6, 21, 0.35);
  animation: visit-tip-in 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

@keyframes visit-tip-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* line 24129, app/assets/stylesheets/dashboard.scss */
.visit-tip__icon {
  grid-area: icon;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, rgba(224, 188, 138, 0.22) 0%, rgba(204, 144, 60, 0.1) 70%);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.3), 0 0 18px rgba(204, 144, 60, 0.12);
  color: #e0bc8a;
  font-size: 1rem;
}

/* line 24143, app/assets/stylesheets/dashboard.scss */
.visit-tip__eyebrow {
  grid-area: eyebrow;
  margin: 0;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
  color: #cc903c;
}

/* line 24154, app/assets/stylesheets/dashboard.scss */
.visit-tip__title {
  grid-area: title;
  margin: 0.15rem 0 0;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: #f7f6f4;
}

/* line 24164, app/assets/stylesheets/dashboard.scss */
.visit-tip__text {
  grid-area: text;
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #94a3b8;
}

/* line 24172, app/assets/stylesheets/dashboard.scss */
.visit-tip__cta {
  grid-area: cta;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.95rem;
  border: 1px solid rgba(204, 144, 60, 0.4);
  border-radius: 999px;
  background: rgba(204, 144, 60, 0.14);
  color: #e0bc8a;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* line 24189, app/assets/stylesheets/dashboard.scss */
.visit-tip__cta i {
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}

/* line 24191, app/assets/stylesheets/dashboard.scss */
.visit-tip__cta:hover, .visit-tip__cta:focus-visible {
  background: rgba(204, 144, 60, 0.26);
  border-color: rgba(204, 144, 60, 0.65);
  color: #f7f6f4;
}

/* line 24197, app/assets/stylesheets/dashboard.scss */
.visit-tip__cta:hover i, .visit-tip__cta:focus-visible i {
  transform: translateX(2px);
}

/* line 24200, app/assets/stylesheets/dashboard.scss */
.visit-tip__cta:focus-visible {
  outline: 2px solid #cc903c;
  outline-offset: 2px;
}

/* line 24205, app/assets/stylesheets/dashboard.scss */
.visit-tip__close {
  grid-area: close;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #64748b;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

/* line 24223, app/assets/stylesheets/dashboard.scss */
.visit-tip__close:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #f7f6f4;
}

/* line 24224, app/assets/stylesheets/dashboard.scss */
.visit-tip__close:focus-visible {
  outline: 2px solid #cc903c;
  outline-offset: 1px;
}

@media (max-width: 1024px) {
  /* line 24231, app/assets/stylesheets/dashboard.scss */
  .visit-tip {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "icon eyebrow" "title title" "text text" "cta cta";
    column-gap: 0.55rem;
    padding: 0.7rem 0.85rem 0.85rem;
    border-radius: 12px;
  }
  /* line 24243, app/assets/stylesheets/dashboard.scss */
  .visit-tip__icon {
    width: 28px;
    height: 28px;
    font-size: 0.72rem;
  }
  /* line 24250, app/assets/stylesheets/dashboard.scss */
  .visit-tip__eyebrow {
    padding-right: 2.25rem;
  }
  /* line 24252, app/assets/stylesheets/dashboard.scss */
  .visit-tip__title {
    margin-top: 0.45rem;
    font-size: 0.9rem;
  }
  /* line 24253, app/assets/stylesheets/dashboard.scss */
  .visit-tip__text {
    font-size: 0.78rem;
  }
  /* line 24255, app/assets/stylesheets/dashboard.scss */
  .visit-tip__cta {
    justify-self: start;
    margin-top: 0.65rem;
    padding: 0.42rem 0.85rem;
    font-size: 0.78rem;
  }
  /* line 24262, app/assets/stylesheets/dashboard.scss */
  .visit-tip__close {
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    width: 36px;
    height: 36px;
  }
}

@media (max-width: 767.98px) {
  /* line 24272, app/assets/stylesheets/dashboard.scss */
  .visit-tip-slot {
    margin: 0.25rem 0 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 24276, app/assets/stylesheets/dashboard.scss */
  .visit-tip {
    animation: none;
  }
  /* line 24277, app/assets/stylesheets/dashboard.scss */
  .visit-tip-slot {
    transition: none;
  }
  /* line 24278, app/assets/stylesheets/dashboard.scss */
  .visit-tip__cta i {
    transition: none;
  }
}

/* line 24296, app/assets/stylesheets/dashboard.scss */
.mctx {
  position: relative;
  margin: 0 0 1.75rem;
  padding: 1.5rem;
  border-radius: 18px;
  border: 1px solid rgba(204, 144, 60, 0.22);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), radial-gradient(70% 90% at 100% 100%, rgba(59, 130, 246, 0.06) 0%, rgba(59, 130, 246, 0) 55%), linear-gradient(160deg, #111825 0%, #0a1020 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 40px rgba(0, 6, 21, 0.35);
  color: #f7f6f4;
  animation: mctx-in 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  /* line 24296, app/assets/stylesheets/dashboard.scss */
  .mctx {
    animation: none;
  }
}

/* line 24312, app/assets/stylesheets/dashboard.scss */
.mctx h2, .mctx h3, .mctx p {
  margin: 0;
}

/* line 24313, app/assets/stylesheets/dashboard.scss */
.mctx ul, .mctx ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

/* line 24321, app/assets/stylesheets/dashboard.scss */
.mctx__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.1rem;
}

/* line 24330, app/assets/stylesheets/dashboard.scss */
.mctx__eyebrow {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #cc903c;
}

/* line 24337, app/assets/stylesheets/dashboard.scss */
.mctx__eyebrow i {
  margin-right: 0.3rem;
}

/* line 24340, app/assets/stylesheets/dashboard.scss */
.mctx__title {
  margin-top: 0.3rem !important;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: #f7f6f4;
}

/* line 24349, app/assets/stylesheets/dashboard.scss */
.mctx__summary {
  margin-top: 0.35rem !important;
  font-size: 0.9rem;
  color: #94a3b8;
}

/* line 24355, app/assets/stylesheets/dashboard.scss */
.mctx__updated {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 24363, app/assets/stylesheets/dashboard.scss */
.mctx__live {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
  animation: mctx-live 2.4s ease-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  /* line 24363, app/assets/stylesheets/dashboard.scss */
  .mctx__live {
    animation: none;
  }
}

@keyframes mctx-live {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(34, 197, 94, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}

/* line 24381, app/assets/stylesheets/dashboard.scss */
.mctx__pulse {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  flex-wrap: wrap;
  padding-bottom: 1.1rem;
  margin-bottom: 1.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 24392, app/assets/stylesheets/dashboard.scss */
.mctx-markets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 24398, app/assets/stylesheets/dashboard.scss */
.mctx-market {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.8rem;
  line-height: 1.2;
  white-space: nowrap;
}

/* line 24411, app/assets/stylesheets/dashboard.scss */
.mctx-market__flag {
  font-size: 1rem;
}

/* line 24412, app/assets/stylesheets/dashboard.scss */
.mctx-market__name {
  font-weight: 600;
  color: #f7f6f4;
}

/* line 24414, app/assets/stylesheets/dashboard.scss */
.mctx-market__status {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 600;
  color: #94a3b8;
}

/* line 24422, app/assets/stylesheets/dashboard.scss */
.mctx-market__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #64748b;
}

/* line 24429, app/assets/stylesheets/dashboard.scss */
.mctx-market.is-open {
  border-color: rgba(34, 197, 94, 0.3);
}

/* line 24432, app/assets/stylesheets/dashboard.scss */
.mctx-market.is-open .mctx-market__status {
  color: #22c55e;
}

/* line 24433, app/assets/stylesheets/dashboard.scss */
.mctx-market.is-open .mctx-market__dot {
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.7);
}

/* line 24436, app/assets/stylesheets/dashboard.scss */
.mctx-market__detail {
  color: #64748b;
}

/* line 24438, app/assets/stylesheets/dashboard.scss */
.mctx-indices {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 24444, app/assets/stylesheets/dashboard.scss */
.mctx-index {
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 92px;
  padding: 0.45rem 0.8rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 24455, app/assets/stylesheets/dashboard.scss */
.mctx-index__name {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

/* line 24463, app/assets/stylesheets/dashboard.scss */
.mctx-index__change {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #94a3b8;
}

/* line 24472, app/assets/stylesheets/dashboard.scss */
.mctx-index__change i {
  font-size: 0.8rem;
}

/* line 24475, app/assets/stylesheets/dashboard.scss */
.mctx-index.is-up .mctx-index__change {
  color: #22c55e;
}

/* line 24476, app/assets/stylesheets/dashboard.scss */
.mctx-index.is-down .mctx-index__change {
  color: #f87171;
}

/* line 24479, app/assets/stylesheets/dashboard.scss */
.mctx__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 1rem;
  align-items: start;
}

/* line 24486, app/assets/stylesheets/dashboard.scss */
.mctx__main,
.mctx__side {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

/* line 24493, app/assets/stylesheets/dashboard.scss */
.mctx-card {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.025);
}

/* line 24501, app/assets/stylesheets/dashboard.scss */
.mctx-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

/* line 24509, app/assets/stylesheets/dashboard.scss */
.mctx-card__title {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e0bc8a;
}

/* line 24517, app/assets/stylesheets/dashboard.scss */
a.mctx-card__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #94a3b8;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

/* line 24528, app/assets/stylesheets/dashboard.scss */
a.mctx-card__more:hover {
  background: rgba(204, 144, 60, 0.14);
  color: #e0bc8a;
}

/* line 24531, app/assets/stylesheets/dashboard.scss */
.mctx-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

/* line 24543, app/assets/stylesheets/dashboard.scss */
.mctx-breadth {
  display: inline-flex;
  gap: 0.6rem;
  font-size: 0.85rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 24550, app/assets/stylesheets/dashboard.scss */
.mctx-breadth span {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

/* line 24551, app/assets/stylesheets/dashboard.scss */
.mctx-breadth .is-up {
  color: #22c55e;
}

/* line 24552, app/assets/stylesheets/dashboard.scss */
.mctx-breadth .is-down {
  color: #f87171;
}

/* line 24555, app/assets/stylesheets/dashboard.scss */
.mctx-mix {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.9rem;
}

/* line 24561, app/assets/stylesheets/dashboard.scss */
.mctx-mix__bar {
  display: flex;
  gap: 3px;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
}

/* line 24570, app/assets/stylesheets/dashboard.scss */
.mctx-mix__seg {
  flex-basis: 0;
  min-width: 10px;
  border-radius: 999px;
}

/* line 24576, app/assets/stylesheets/dashboard.scss */
.mctx-mix__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  font-size: 0.78rem;
  color: #94a3b8;
}

/* line 24583, app/assets/stylesheets/dashboard.scss */
.mctx-mix__legend li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 24584, app/assets/stylesheets/dashboard.scss */
.mctx-mix__legend li > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* line 24585, app/assets/stylesheets/dashboard.scss */
.mctx-mix__legend b {
  color: #f7f6f4;
  font-variant-numeric: tabular-nums;
}

/* line 24589, app/assets/stylesheets/dashboard.scss */
.mctx-mix__seg.is-buy, .mctx-mix__legend .is-buy > span {
  background: #22c55e;
}

/* line 24590, app/assets/stylesheets/dashboard.scss */
.mctx-mix__seg.is-hold, .mctx-mix__legend .is-hold > span {
  background: #cc903c;
}

/* line 24591, app/assets/stylesheets/dashboard.scss */
.mctx-mix__seg.is-wait, .mctx-mix__legend .is-wait > span {
  background: #64748b;
}

/* line 24592, app/assets/stylesheets/dashboard.scss */
.mctx-mix__seg.is-trim, .mctx-mix__legend .is-trim > span {
  background: #f97316;
}

/* line 24593, app/assets/stylesheets/dashboard.scss */
.mctx-mix__seg.is-sell, .mctx-mix__legend .is-sell > span {
  background: #ef4444;
}

/* line 24595, app/assets/stylesheets/dashboard.scss */
.mctx-movers {
  display: flex;
  align-items: center;
  gap: 0.5rem 0.75rem;
  flex-wrap: wrap;
}

/* line 24601, app/assets/stylesheets/dashboard.scss */
.mctx-movers + .mctx-movers {
  margin-top: 0.6rem;
}

/* line 24606, app/assets/stylesheets/dashboard.scss */
.mctx-drivers {
  display: grid;
  gap: 0.55rem;
}

/* line 24610, app/assets/stylesheets/dashboard.scss */
.mctx-drivers + .mctx-movers, .mctx-drivers + .mctx-event__locked {
  margin-top: 0.75rem;
}

/* line 24614, app/assets/stylesheets/dashboard.scss */
.mctx-drivers__list {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 24622, app/assets/stylesheets/dashboard.scss */
.mctx-driver {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
}

/* line 24629, app/assets/stylesheets/dashboard.scss */
.mctx-driver__text {
  margin: 0;
  padding-top: 0.3rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #94a3b8;
}

@media (max-width: 575.98px) {
  /* line 24639, app/assets/stylesheets/dashboard.scss */
  .mctx-driver {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.35rem;
  }
  /* line 24643, app/assets/stylesheets/dashboard.scss */
  .mctx-driver .mctx-chip {
    justify-self: start;
  }
  /* line 24646, app/assets/stylesheets/dashboard.scss */
  .mctx-driver__text {
    padding-top: 0;
  }
}

/* line 24649, app/assets/stylesheets/dashboard.scss */
.mctx-movers + .mctx-event__locked {
  margin-top: 0.75rem;
}

/* line 24651, app/assets/stylesheets/dashboard.scss */
.mctx-chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 24657, app/assets/stylesheets/dashboard.scss */
a.mctx-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 30px;
  padding: 0.25rem 0.65rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.04);
  color: #f7f6f4;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

/* line 24673, app/assets/stylesheets/dashboard.scss */
a.mctx-chip:hover, a.mctx-chip:focus-visible {
  border-color: rgba(204, 144, 60, 0.55);
  background: rgba(204, 144, 60, 0.1);
  color: #f7f6f4;
  transform: translateY(-1px);
}

/* line 24681, app/assets/stylesheets/dashboard.scss */
a.mctx-chip:focus-visible {
  outline: 2px solid #cc903c;
  outline-offset: 2px;
}

/* line 24684, app/assets/stylesheets/dashboard.scss */
.mctx-chip__symbol {
  letter-spacing: 0.02em;
}

/* line 24686, app/assets/stylesheets/dashboard.scss */
.mctx-chip__change {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  font-variant-numeric: tabular-nums;
  color: #94a3b8;
}

/* line 24693, app/assets/stylesheets/dashboard.scss */
.mctx-chip__change i {
  font-size: 0.7rem;
}

/* line 24696, app/assets/stylesheets/dashboard.scss */
a.mctx-chip.is-up .mctx-chip__change {
  color: #22c55e;
}

/* line 24697, app/assets/stylesheets/dashboard.scss */
a.mctx-chip.is-down .mctx-chip__change {
  color: #f87171;
}

/* line 24698, app/assets/stylesheets/dashboard.scss */
a.mctx-chip--up {
  border-color: rgba(34, 197, 94, 0.32);
}

/* line 24699, app/assets/stylesheets/dashboard.scss */
a.mctx-chip--down {
  border-color: rgba(248, 113, 113, 0.32);
}

/* line 24700, app/assets/stylesheets/dashboard.scss */
a.mctx-chip--exposed {
  border-color: rgba(245, 158, 11, 0.32);
}

/* line 24702, app/assets/stylesheets/dashboard.scss */
.mctx-nostocks {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.9rem 1.1rem;
  border-radius: 14px;
  border: 1px dashed rgba(204, 144, 60, 0.35);
  background: rgba(204, 144, 60, 0.06);
  font-size: 0.88rem;
  color: #e0bc8a;
}

/* line 24715, app/assets/stylesheets/dashboard.scss */
.mctx-events__list {
  display: grid;
  gap: 0.6rem;
}

/* line 24720, app/assets/stylesheets/dashboard.scss */
.mctx-event {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(10, 16, 32, 0.55);
}

/* line 24730, app/assets/stylesheets/dashboard.scss */
.mctx-event__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: rgba(204, 144, 60, 0.12);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.28);
  color: #e0bc8a;
}

/* line 24742, app/assets/stylesheets/dashboard.scss */
.mctx-event.is-sev3 .mctx-event__icon {
  background: rgba(245, 158, 11, 0.12);
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.32);
  color: #fbbf24;
}

/* line 24748, app/assets/stylesheets/dashboard.scss */
.mctx-event.is-sev4 .mctx-event__icon,
.mctx-event.is-sev5 .mctx-event__icon {
  background: rgba(239, 68, 68, 0.12);
  box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.34);
  color: #f87171;
}

/* line 24755, app/assets/stylesheets/dashboard.scss */
.mctx-event__body {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

/* line 24761, app/assets/stylesheets/dashboard.scss */
.mctx-event__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 24768, app/assets/stylesheets/dashboard.scss */
a.mctx-event__title {
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.4;
  color: #f7f6f4;
  text-decoration: none;
}

/* line 24775, app/assets/stylesheets/dashboard.scss */
a.mctx-event__title:hover {
  color: #e0bc8a;
}

/* line 24778, app/assets/stylesheets/dashboard.scss */
.mctx-event__meta {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.3rem;
  flex-shrink: 0;
}

/* line 24786, app/assets/stylesheets/dashboard.scss */
.mctx-severity {
  display: inline-flex;
  gap: 3px;
}

/* line 24790, app/assets/stylesheets/dashboard.scss */
.mctx-severity span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

/* line 24798, app/assets/stylesheets/dashboard.scss */
.mctx-event.is-sev1 .mctx-severity .is-on,
.mctx-event.is-sev2 .mctx-severity .is-on {
  background: #cc903c;
}

/* line 24800, app/assets/stylesheets/dashboard.scss */
.mctx-event.is-sev3 .mctx-severity .is-on {
  background: #f59e0b;
}

/* line 24801, app/assets/stylesheets/dashboard.scss */
.mctx-event.is-sev4 .mctx-severity .is-on,
.mctx-event.is-sev5 .mctx-severity .is-on {
  background: #ef4444;
}

/* line 24804, app/assets/stylesheets/dashboard.scss */
.mctx-event__ago {
  font-size: 0.72rem;
  color: #64748b;
  white-space: nowrap;
}

/* line 24810, app/assets/stylesheets/dashboard.scss */
.mctx-impacts {
  display: grid;
  gap: 0.4rem;
}

/* line 24814, app/assets/stylesheets/dashboard.scss */
.mctx-impacts:empty {
  display: none;
}

/* line 24817, app/assets/stylesheets/dashboard.scss */
.mctx-impact {
  display: flex;
  align-items: center;
  gap: 0.4rem 0.6rem;
  flex-wrap: wrap;
}

/* line 24824, app/assets/stylesheets/dashboard.scss */
.mctx-impact__label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 96px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* line 24835, app/assets/stylesheets/dashboard.scss */
.mctx-impact.is-up .mctx-impact__label {
  color: #22c55e;
}

/* line 24836, app/assets/stylesheets/dashboard.scss */
.mctx-impact.is-down .mctx-impact__label {
  color: #f87171;
}

/* line 24837, app/assets/stylesheets/dashboard.scss */
.mctx-impact.is-exposed .mctx-impact__label {
  color: #f59e0b;
}

/* line 24838, app/assets/stylesheets/dashboard.scss */
.mctx-impact.is-regional .mctx-impact__label {
  color: #94a3b8;
}

/* line 24840, app/assets/stylesheets/dashboard.scss */
.mctx-event__expectation {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #94a3b8;
  border-left: 2px solid rgba(204, 144, 60, 0.4);
  padding-left: 0.65rem;
}

/* line 24848, app/assets/stylesheets/dashboard.scss */
a.mctx-event__locked {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.5rem 0.65rem;
  border-radius: 10px;
  border: 1px dashed rgba(204, 144, 60, 0.35);
  background: rgba(204, 144, 60, 0.05);
  font-size: 0.8rem;
  color: #94a3b8;
  text-decoration: none;
}

/* line 24861, app/assets/stylesheets/dashboard.scss */
a.mctx-event__locked i {
  color: #cc903c;
}

/* line 24863, app/assets/stylesheets/dashboard.scss */
a.mctx-event__locked:hover {
  border-color: rgba(204, 144, 60, 0.7);
  background: rgba(204, 144, 60, 0.1);
}

/* line 24866, app/assets/stylesheets/dashboard.scss */
.mctx-event__locked-cta {
  margin-left: auto;
  font-weight: 700;
  color: #e0bc8a;
  white-space: nowrap;
}

/* line 24873, app/assets/stylesheets/dashboard.scss */
a.mctx-headline {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.82rem;
  color: #f7f6f4;
  text-decoration: none;
}

/* line 24885, app/assets/stylesheets/dashboard.scss */
a.mctx-headline i {
  color: #cc903c;
}

/* line 24887, app/assets/stylesheets/dashboard.scss */
a.mctx-headline:hover {
  border-color: rgba(204, 144, 60, 0.45);
}

/* line 24890, app/assets/stylesheets/dashboard.scss */
.mctx-headline__label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

/* line 24898, app/assets/stylesheets/dashboard.scss */
.mctx-headline__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 24906, app/assets/stylesheets/dashboard.scss */
.mctx-headline__ago {
  font-size: 0.72rem;
  color: #64748b;
  white-space: nowrap;
}

/* line 24909, app/assets/stylesheets/dashboard.scss */
.mctx-barometer__body {
  display: grid;
  gap: 1rem;
}

/* line 24914, app/assets/stylesheets/dashboard.scss */
.mctx-mood {
  display: grid;
  gap: 0.45rem;
}

/* line 24916, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  grid-template-areas: "gauge value" "gauge tone" "gauge previous";
  align-items: center;
  column-gap: 0.85rem;
}

/* line 24926, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading .mctx-gauge {
  grid-area: gauge;
}

/* line 24929, app/assets/stylesheets/dashboard.scss */
.mctx-mood__value {
  grid-area: value;
  align-self: end;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: #f7f6f4;
}

/* line 24939, app/assets/stylesheets/dashboard.scss */
.mctx-mood__tone {
  grid-area: tone;
  font-size: 0.85rem;
  font-weight: 700;
}

/* line 24945, app/assets/stylesheets/dashboard.scss */
.mctx-mood__previous {
  grid-area: previous;
  align-self: start;
  font-size: 0.75rem;
  color: #64748b;
}

/* line 24952, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading.is-extreme-fear .mctx-mood__tone {
  color: #ef4444;
}

/* line 24953, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading.is-fear .mctx-mood__tone {
  color: #f97316;
}

/* line 24954, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading.is-neutral .mctx-mood__tone {
  color: #e0bc8a;
}

/* line 24955, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading.is-greed .mctx-mood__tone {
  color: #84cc16;
}

/* line 24956, app/assets/stylesheets/dashboard.scss */
.mctx-mood__reading.is-extreme-greed .mctx-mood__tone {
  color: #22c55e;
}

/* line 24958, app/assets/stylesheets/dashboard.scss */
.mctx-gauge {
  display: block;
  width: 112px;
  height: auto;
  overflow: visible;
}

/* line 24965, app/assets/stylesheets/dashboard.scss */
.mctx-gauge__track,
.mctx-gauge__ramp {
  fill: none;
  stroke-width: 9;
  stroke-linecap: round;
}

/* line 24972, app/assets/stylesheets/dashboard.scss */
.mctx-gauge__track {
  stroke: rgba(255, 255, 255, 0.07);
}

/* line 24973, app/assets/stylesheets/dashboard.scss */
.mctx-gauge__ramp {
  opacity: 0.9;
}

/* line 24975, app/assets/stylesheets/dashboard.scss */
.mctx-gauge__knob {
  fill: #f7f6f4;
  stroke: #0a1020;
  stroke-width: 3;
  filter: drop-shadow(0 0 4px rgba(224, 188, 138, 0.6));
}

/* line 24982, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row {
  display: grid;
  gap: 0.45rem;
}

/* line 24984, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row__reading {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

/* line 24990, app/assets/stylesheets/dashboard.scss */
.mctx-tension {
  display: inline-flex;
  gap: 4px;
}

/* line 24994, app/assets/stylesheets/dashboard.scss */
.mctx-tension span {
  width: 20px;
  height: 8px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.08);
}

/* line 25001, app/assets/stylesheets/dashboard.scss */
.mctx-tension.is-calm .is-on {
  background: #22c55e;
}

/* line 25002, app/assets/stylesheets/dashboard.scss */
.mctx-tension.is-elevated .is-on {
  background: #f59e0b;
}

/* line 25003, app/assets/stylesheets/dashboard.scss */
.mctx-tension.is-high .is-on {
  background: #f97316;
}

/* line 25004, app/assets/stylesheets/dashboard.scss */
.mctx-tension.is-critical .is-on {
  background: #ef4444;
}

/* line 25007, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row__label {
  font-size: 0.85rem;
  font-weight: 700;
}

/* line 25011, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row__label.is-calm {
  color: #22c55e;
}

/* line 25012, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row__label.is-elevated {
  color: #fbbf24;
}

/* line 25013, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row__label.is-high {
  color: #fb923c;
}

/* line 25014, app/assets/stylesheets/dashboard.scss */
.mctx-tension-row__label.is-critical {
  color: #f87171;
}

/* line 25017, app/assets/stylesheets/dashboard.scss */
.mctx-pending {
  font-size: 0.8rem;
  color: #64748b;
}

/* line 25020, app/assets/stylesheets/dashboard.scss */
.mctx-barometer__locked {
  position: relative;
  min-height: 150px;
}

/* line 25025, app/assets/stylesheets/dashboard.scss */
.mctx-barometer__ghost {
  display: grid;
  justify-items: center;
  gap: 0.9rem;
  padding: 0.5rem 0 0.25rem;
  filter: blur(5px) saturate(0.8);
  opacity: 0.55;
  pointer-events: none;
  user-select: none;
}

/* line 25035, app/assets/stylesheets/dashboard.scss */
.mctx-barometer__ghost .mctx-tension .is-on {
  background: #f59e0b;
}

/* line 25038, app/assets/stylesheets/dashboard.scss */
.mctx-lock {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 0.45rem;
  padding: 0.5rem;
  text-align: center;
}

/* line 25048, app/assets/stylesheets/dashboard.scss */
.mctx-lock > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(204, 144, 60, 0.16);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.4);
  color: #e0bc8a;
}

/* line 25060, app/assets/stylesheets/dashboard.scss */
.mctx-lock p {
  max-width: 240px;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.45;
  color: #f7f6f4;
}

/* line 25069, app/assets/stylesheets/dashboard.scss */
a.mctx-lock__cta,
a.mctx-signals__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(204, 144, 60, 0.45);
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.28) 0%, rgba(224, 188, 138, 0.16) 100%);
  color: #e0bc8a;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* line 25085, app/assets/stylesheets/dashboard.scss */
a.mctx-lock__cta i,
a.mctx-signals__cta i {
  font-size: 0.72rem;
}

/* line 25087, app/assets/stylesheets/dashboard.scss */
a.mctx-lock__cta:hover, a.mctx-lock__cta:focus-visible,
a.mctx-signals__cta:hover,
a.mctx-signals__cta:focus-visible {
  background: #cc903c;
  border-color: #cc903c;
  color: #111825;
}

/* line 25094, app/assets/stylesheets/dashboard.scss */
a.mctx-lock__cta:focus-visible,
a.mctx-signals__cta:focus-visible {
  outline: 2px solid #e0bc8a;
  outline-offset: 2px;
}

/* line 25098, app/assets/stylesheets/dashboard.scss */
.mctx-signals {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  border-color: rgba(249, 115, 22, 0.22);
  background: radial-gradient(120% 140% at 0% 50%, rgba(249, 115, 22, 0.12) 0%, rgba(249, 115, 22, 0) 55%), rgba(255, 255, 255, 0.025);
}

/* line 25109, app/assets/stylesheets/dashboard.scss */
.mctx-signals__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(140deg, #f97316 0%, #cc903c 100%);
  box-shadow: 0 6px 18px rgba(249, 115, 22, 0.3);
  color: #fff;
}

/* line 25121, app/assets/stylesheets/dashboard.scss */
.mctx-signals__body {
  display: grid;
  gap: 0.6rem;
  justify-items: start;
}

/* line 25127, app/assets/stylesheets/dashboard.scss */
.mctx-signals__text {
  display: grid;
  gap: 0.15rem;
  font-size: 0.85rem;
  line-height: 1.4;
  color: #94a3b8;
}

/* line 25134, app/assets/stylesheets/dashboard.scss */
.mctx-signals__text strong {
  color: #f7f6f4;
  font-weight: 700;
}

/* line 25135, app/assets/stylesheets/dashboard.scss */
.mctx-signals__text .is-mine {
  color: #fb923c;
  font-weight: 700;
}

/* line 25138, app/assets/stylesheets/dashboard.scss */
.mctx-signals.is-quiet {
  border-color: rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.025);
}

/* line 25142, app/assets/stylesheets/dashboard.scss */
.mctx-signals.is-quiet .mctx-signals__icon {
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
  color: #64748b;
}

/* line 25146, app/assets/stylesheets/dashboard.scss */
.mctx__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

/* line 25152, app/assets/stylesheets/dashboard.scss */
a.mctx__radar {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #e0bc8a;
  text-decoration: none;
}

/* line 25161, app/assets/stylesheets/dashboard.scss */
a.mctx__radar i {
  font-size: 0.72rem;
  transition: transform 0.2s ease;
}

/* line 25163, app/assets/stylesheets/dashboard.scss */
a.mctx__radar:hover {
  color: #f7f6f4;
}

/* line 25163, app/assets/stylesheets/dashboard.scss */
a.mctx__radar:hover i {
  transform: translateX(3px);
}

/* line 25167, app/assets/stylesheets/dashboard.scss */
.agenda-column {
  background: rgba(204, 144, 60, 0.04);
  border-color: rgba(204, 144, 60, 0.15);
}

/* line 25171, app/assets/stylesheets/dashboard.scss */
.agenda-column .section-header-mini h5 {
  color: #cc903c;
}

/* line 25174, app/assets/stylesheets/dashboard.scss */
.agenda-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 25182, app/assets/stylesheets/dashboard.scss */
.agenda-item {
  display: grid;
  grid-template-columns: 92px 28px auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.82rem;
}

/* line 25193, app/assets/stylesheets/dashboard.scss */
.agenda-item--undated {
  grid-template-columns: 28px auto minmax(0, 1fr);
}

/* line 25195, app/assets/stylesheets/dashboard.scss */
.agenda-date {
  font-size: 0.75rem;
  font-weight: 600;
  color: #e0bc8a;
  text-transform: capitalize;
}

/* line 25202, app/assets/stylesheets/dashboard.scss */
.agenda-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: rgba(204, 144, 60, 0.12);
  color: #cc903c;
  font-size: 0.72rem;
}

/* line 25214, app/assets/stylesheets/dashboard.scss */
.agenda-icon.dividend {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

/* line 25215, app/assets/stylesheets/dashboard.scss */
.agenda-icon.crisis,
.agenda-icon.warning {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
}

/* line 25218, app/assets/stylesheets/dashboard.scss */
.agenda-symbol {
  font-weight: 700;
  color: #f7f6f4;
}

/* line 25220, app/assets/stylesheets/dashboard.scss */
.agenda-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #94a3b8;
}

@media (min-width: 1200px) {
  /* line 25230, app/assets/stylesheets/dashboard.scss */
  .mctx__side {
    position: sticky;
    top: 84px;
  }
}

@media (max-width: 1199px) {
  /* line 25238, app/assets/stylesheets/dashboard.scss */
  .mctx__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 25239, app/assets/stylesheets/dashboard.scss */
  .mctx__side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  /* line 25244, app/assets/stylesheets/dashboard.scss */
  .mctx {
    margin: 0 0 1.25rem;
    padding: 1.1rem 1rem;
    border-radius: 16px;
  }
  /* line 25250, app/assets/stylesheets/dashboard.scss */
  .mctx__head {
    margin-bottom: 0.9rem;
  }
  /* line 25251, app/assets/stylesheets/dashboard.scss */
  .mctx__title {
    font-size: 1.15rem;
  }
  /* line 25253, app/assets/stylesheets/dashboard.scss */
  .mctx__pulse {
    gap: 0.6rem;
  }
  /* line 25255, app/assets/stylesheets/dashboard.scss */
  .mctx-markets {
    display: grid;
    width: 100%;
  }
  /* line 25260, app/assets/stylesheets/dashboard.scss */
  .mctx-market {
    border-radius: 12px;
    flex-wrap: wrap;
    white-space: normal;
  }
  /* line 25266, app/assets/stylesheets/dashboard.scss */
  .mctx-market__detail {
    margin-left: auto;
  }
  /* line 25269, app/assets/stylesheets/dashboard.scss */
  .mctx-indices {
    flex-wrap: nowrap;
    width: calc(100% + 2rem);
    margin: 0 -1rem;
    padding: 0 1rem 0.2rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  /* line 25278, app/assets/stylesheets/dashboard.scss */
  .mctx-indices::-webkit-scrollbar {
    display: none;
  }
  /* line 25281, app/assets/stylesheets/dashboard.scss */
  .mctx-index {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  /* line 25283, app/assets/stylesheets/dashboard.scss */
  .mctx__side {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 25285, app/assets/stylesheets/dashboard.scss */
  .mctx-card {
    padding: 0.9rem;
  }
  /* line 25287, app/assets/stylesheets/dashboard.scss */
  .mctx-event {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.75rem;
  }
  /* line 25293, app/assets/stylesheets/dashboard.scss */
  .mctx-event__icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    font-size: 0.85rem;
  }
  /* line 25295, app/assets/stylesheets/dashboard.scss */
  .mctx-event__top {
    flex-direction: column;
    gap: 0.35rem;
  }
  /* line 25297, app/assets/stylesheets/dashboard.scss */
  .mctx-event__meta {
    flex-direction: row;
    align-items: center;
    gap: 0.6rem;
  }
  /* line 25303, app/assets/stylesheets/dashboard.scss */
  .mctx-impact__label {
    min-width: 0;
  }
  /* line 25305, app/assets/stylesheets/dashboard.scss */
  a.mctx-chip {
    min-height: 34px;
  }
  /* line 25307, app/assets/stylesheets/dashboard.scss */
  .mctx__foot {
    justify-content: center;
  }
  /* line 25309, app/assets/stylesheets/dashboard.scss */
  .agenda-item {
    grid-template-columns: 76px 26px auto minmax(0, 1fr);
  }
}
/* 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 2158, app/assets/stylesheets/geopolitical.scss */
.geo-crisis-marker {
  background: transparent;
  border: none;
}

/* line 2163, 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 2174, app/assets/stylesheets/geopolitical.scss */
.geo-marker-inner i {
  position: relative;
  z-index: 2;
}

/* line 2179, 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 2200, app/assets/stylesheets/geopolitical.scss */
.geo-market-marker {
  background: transparent;
  border: none;
}

/* line 2205, 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 2217, app/assets/stylesheets/geopolitical.scss */
.geo-market-inner .market-abbr {
  display: block;
}

/* line 2223, app/assets/stylesheets/geopolitical.scss */
.geo-popup {
  min-width: 150px;
}

/* line 2226, app/assets/stylesheets/geopolitical.scss */
.geo-popup h6 {
  color: #f7f6f4;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* line 2233, app/assets/stylesheets/geopolitical.scss */
.geo-popup p {
  color: #94a3b8;
  font-size: 0.8rem;
  margin: 0;
}

/* line 2240, app/assets/stylesheets/geopolitical.scss */
.geo-popup.crisis-popup .severity {
  color: #ef4444;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

/* line 2246, app/assets/stylesheets/geopolitical.scss */
.geo-popup.crisis-popup .description {
  font-size: 0.75rem;
}

/* line 2251, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup {
  text-align: center;
}

/* line 2254, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 2259, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.positive {
  color: #22c55e;
}

/* line 2260, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.negative {
  color: #ef4444;
}

/* line 2261, app/assets/stylesheets/geopolitical.scss */
.geo-popup.market-popup .change.neutral {
  color: #94a3b8;
}

/* line 2264, 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 2277, 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 2277, app/assets/stylesheets/geopolitical.scss */
  .geo-map-legend {
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    justify-content: flex-start;
  }
}

/* line 2296, 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 2296, app/assets/stylesheets/geopolitical.scss */
  .legend-item {
    gap: 0.4rem;
    font-size: 0.7rem;
  }
}

/* line 2311, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* line 2316, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.critical {
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
}

/* line 2317, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.high {
  background: #f97316;
  box-shadow: 0 0 8px #f97316;
}

/* line 2318, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.elevated {
  background: #cc903c;
  box-shadow: 0 0 8px #cc903c;
}

/* line 2319, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-dot.market {
  background: transparent;
  border: 2px solid #60a5fa;
  border-radius: 2px;
}

/* line 2322, 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 2330, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon.market-up {
  color: #22c55e;
}

/* line 2331, app/assets/stylesheets/geopolitical.scss */
.legend-item .legend-icon.market-down {
  color: #ef4444;
}

/* line 2336, 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 2351, 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 2370, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: stretch;
}

/* line 2377, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column {
  flex: 4;
  min-width: 0;
  order: 1;
}

/* line 2382, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column .geo-map-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 2387, app/assets/stylesheets/geopolitical.scss */
.crises-map-layout .map-column .geo-map-card .geo-map-container {
  flex: 1;
  min-height: 400px;
}

/* line 2394, 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 2405, 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 2412, 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 2421, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 i {
  font-size: 0.85rem;
}

/* line 2425, app/assets/stylesheets/geopolitical.scss */
.crises-sidebar-header h5 .badge {
  font-size: 0.65rem;
  padding: 0.2rem 0.4rem;
}

/* line 2433, 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 2447, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar {
  width: 6px;
}

/* line 2450, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.5);
}

/* line 2453, app/assets/stylesheets/geopolitical.scss */
.crises-list::-webkit-scrollbar-thumb {
  background: rgba(239, 68, 68, 0.4);
  border-radius: 3px;
}

/* line 2460, 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 2467, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:hover {
  background: rgba(30, 41, 59, 0.8);
  transform: translateX(2px);
}

/* line 2472, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-critical {
  border-left: 3px solid #ef4444;
  background: rgba(239, 68, 68, 0.1);
}

/* line 2476, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-high {
  border-left: 3px solid #f97316;
  background: rgba(249, 115, 22, 0.1);
}

/* line 2480, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-elevated {
  border-left: 3px solid #cc903c;
  background: rgba(204, 144, 60, 0.1);
}

/* line 2484, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact.crisis-moderate {
  border-left: 3px solid #60a5fa;
  background: rgba(59, 130, 246, 0.1);
}

/* line 2492, 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 2498, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-emoji {
  font-size: 1rem;
}

/* line 2502, 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 2508, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-critical {
  background: #ef4444;
  color: #f7f6f4;
}

/* line 2509, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-high {
  background: #f97316;
  color: #f7f6f4;
}

/* line 2510, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-elevated {
  background: #cc903c;
  color: #1a1a2e;
}

/* line 2513, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-header .crisis-severity-badge.severity-moderate {
  background: #60a5fa;
  color: #0b1220;
}

/* line 2517, 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 2525, 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 2532, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact .crisis-compact-regions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 2537, 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 2550, 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 2563, app/assets/stylesheets/geopolitical.scss */
.no-crisis-compact .no-crisis-emoji {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

/* line 2569, 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 2582, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout {
    flex-direction: column;
  }
  /* line 2585, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout .map-column {
    order: 1;
    flex: none;
    width: 100%;
  }
  /* line 2591, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout .crises-column {
    order: 2;
    flex: none;
    width: 100%;
    max-width: none;
    min-width: auto;
  }
  /* line 2600, app/assets/stylesheets/geopolitical.scss */
  .crises-sidebar-header {
    border-radius: 12px 12px 0 0;
  }
  /* line 2604, 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 2614, app/assets/stylesheets/geopolitical.scss */
  .crises-list::-webkit-scrollbar {
    height: 6px;
    width: auto;
  }
  /* line 2620, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact {
    flex: 0 0 auto;
    width: 280px;
    min-width: 250px;
  }
  /* line 2626, app/assets/stylesheets/geopolitical.scss */
  .no-crisis-compact {
    border-radius: 0 0 12px 12px;
  }
}

@media (max-width: 767px) {
  /* line 2636, app/assets/stylesheets/geopolitical.scss */
  .crises-map-layout {
    gap: 0.75rem;
  }
  /* line 2640, app/assets/stylesheets/geopolitical.scss */
  .crises-list {
    flex-direction: column;
    flex-wrap: nowrap;
    overflow-x: visible;
    max-height: 400px;
    overflow-y: auto;
  }
  /* line 2648, app/assets/stylesheets/geopolitical.scss */
  .crisis-card-compact {
    width: 100%;
    min-width: auto;
  }
  /* line 2653, app/assets/stylesheets/geopolitical.scss */
  .crises-sidebar-header h5 {
    font-size: 0.85rem;
  }
}

/* line 2662, app/assets/stylesheets/geopolitical.scss */
.osiris-map-wrapper {
  position: relative;
  width: 100%;
  min-height: 550px;
  border-radius: 8px;
  overflow: visible;
  background: #000615;
}

/* line 2671, app/assets/stylesheets/geopolitical.scss */
.osiris-map-wrapper:fullscreen .osiris-iframe {
  height: 100vh;
}

/* line 2677, app/assets/stylesheets/geopolitical.scss */
.osiris-iframe {
  width: 100%;
  height: 550px;
  border: none;
  border-radius: 8px;
  background: #000615;
  display: block;
}

/* line 2686, 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 2695, 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 2709, 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 2715, app/assets/stylesheets/geopolitical.scss */
.osiris-btn i {
  font-size: 0.75rem;
}

/* line 2721, app/assets/stylesheets/geopolitical.scss */
.status-osiris .dot-osiris {
  background: #60a5fa;
  box-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
}

/* line 2725, app/assets/stylesheets/geopolitical.scss */
.status-osiris span:last-child {
  color: #60a5fa;
  font-weight: 600;
}

/* line 2733, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-aviation {
  background: #60a5fa;
}

/* line 2734, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-conflict {
  background: #ef4444;
}

/* line 2735, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-seismic {
  background: #cc903c;
}

/* line 2736, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-fires {
  background: #f97316;
}

/* line 2737, app/assets/stylesheets/geopolitical.scss */
.legend-dot.legend-gdelt {
  background: #e0bc8a;
}

/* line 2741, 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 2747, 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 2756, app/assets/stylesheets/geopolitical.scss */
.osiris-enrichment-panel h6 i {
  font-size: 0.7rem;
}

/* line 2760, app/assets/stylesheets/geopolitical.scss */
.osiris-feed-items {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* line 2766, 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 2774, 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 2784, app/assets/stylesheets/geopolitical.scss */
  .osiris-iframe {
    height: 350px;
  }
  /* line 2788, app/assets/stylesheets/geopolitical.scss */
  .osiris-map-wrapper {
    min-height: 350px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  /* line 2794, app/assets/stylesheets/geopolitical.scss */
  .osiris-iframe {
    height: 420px;
  }
}

/* line 2803, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact {
  cursor: pointer;
  transition: transform 0.15s, border-color 0.15s;
}

@media (hover: hover) {
  /* line 2814, 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 2822, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:active {
  transform: scale(0.99);
}

/* line 2824, app/assets/stylesheets/geopolitical.scss */
.crisis-card-compact:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: 2px;
}

/* line 2837, 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 2845, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet-backdrop.visible {
  opacity: 1;
}

/* line 2848, app/assets/stylesheets/geopolitical.scss */
body.crisis-sheet-open {
  overflow: hidden;
}

/* line 2852, 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 2869, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet.visible {
  transform: translateY(0);
}

/* line 2871, 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 2879, 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 2885, 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 2892, 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 2900, 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 2916, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-sheet-close:active {
  transform: scale(0.94);
}

/* line 2919, app/assets/stylesheets/geopolitical.scss */
.crisis-sheet .crisis-tooltip-body {
  padding: 14px 17px 6px;
}

/* line 2922, 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 2930, 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 2941, 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 2951, app/assets/stylesheets/geopolitical.scss */
  .crisis-sheet,
.crisis-sheet-backdrop,
.crisis-tooltip-popup {
    transition: none;
  }
}

/* line 2958, 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 2972, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup.visible {
  opacity: 1;
  transform: translateY(0);
}

/* line 2977, 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 2983, 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 2991, 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 2998, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-body {
  padding: 0.75rem 1rem;
}

/* line 3001, 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 3009, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-regions {
  font-size: 0.68rem;
  color: #60a5fa;
  margin-bottom: 0.4rem;
}

/* line 3014, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-regions i {
  margin-right: 0.3rem;
  font-size: 0.6rem;
}

/* line 3017, app/assets/stylesheets/geopolitical.scss */
.crisis-tooltip-popup .crisis-tooltip-market {
  font-size: 0.68rem;
  color: #cc903c;
  line-height: 1.4;
}

/* line 3022, 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 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: 1024px) {
  /* 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 1680, app/assets/stylesheets/account.scss */
.account-settings-page .d-flex.align-items-center.justify-content-center {
  justify-content: flex-start !important;
}

/* line 1692, app/assets/stylesheets/account.scss */
#my-data .dropdown .btn-outline-info.dropdown-toggle::after {
  margin-left: 0.5rem;
}

/* line 1698, 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 1715, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu li {
  background: transparent !important;
}

/* line 1719, 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 1727, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item:last-child {
  margin-bottom: 0;
}

/* line 1731, 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 1735, 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 1738, 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 1743, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item i {
  width: 20px;
}

/* line 1747, app/assets/stylesheets/account.scss */
#my-data .dropdown .dropdown-menu .dropdown-item small {
  color: #64748b !important;
  font-size: 0.75rem;
}

/* line 1756, app/assets/stylesheets/account.scss */
.password-input-wrapper {
  position: relative;
}

/* line 1759, app/assets/stylesheets/account.scss */
.password-input-wrapper .form-control {
  padding-right: 2.75rem;
}

/* line 1764, 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 1780, 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 1441, app/assets/stylesheets/stocks_preferences.scss */
#stockTransactionModal {
  z-index: 1070 !important;
}

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

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

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

/* line 1456, 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;
  }
}
/* 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);
}

.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 components/shell/Chatbot.tsx), 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 the standalone chatbot page
   (pages/Chatbot/Index.tsx), which still uses Bootstrap markup and supplies
   its own display/gap from an inline <style> (ChatbotPageStyle.tsx). 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 widget never disables the textarea (only the send button),
   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 useChatbotKeyboard (hooks/useChatbotKeyboard.ts). 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;
  }

  /* ====== 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 (1025px - 1280px, sidebar layout)
   Fix stacked buttons - make them side by side
   ============================================ */

@media (min-width: 1025px) 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;
  }
}

/* ============================================
   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;
}

/* ============================================
   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: 48px;
  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;
}

/* 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 166, 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 176, 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 188, app/assets/stylesheets/sidebar.scss */
.sidebar-brand:hover {
  opacity: 0.85;
}

/* line 193, app/assets/stylesheets/sidebar.scss */
.sidebar-logo {
  height: 42px;
  margin-left: 14px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}

/* line 201, 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 209, 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 223, app/assets/stylesheets/sidebar.scss */
.sidebar-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f7f6f4;
}

/* line 228, app/assets/stylesheets/sidebar.scss */
.sidebar-toggle i {
  font-size: 0.75rem;
  transition: transform 0.3s;
}

/* line 237, 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 245, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar {
  width: 4px;
}

/* line 248, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

/* line 251, app/assets/stylesheets/sidebar.scss */
.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

/* line 258, app/assets/stylesheets/sidebar.scss */
.sidebar-category {
  margin-bottom: 0.2rem;
}

/* line 261, 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 268, 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 275, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-header {
  justify-content: center;
  padding: 0.35rem;
}

/* line 281, 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 289, 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 298, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-title {
  opacity: 0;
  visibility: hidden;
  width: 0;
}

/* line 305, app/assets/stylesheets/sidebar.scss */
.sidebar-category-logos {
  display: flex;
  gap: 0.25rem;
}

/* line 309, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-category-logos {
  flex-direction: column;
  gap: 0.125rem;
}

/* line 315, app/assets/stylesheets/sidebar.scss */
.sidebar-platform-logo {
  width: 14px;
  height: 14px;
  object-fit: contain;
  opacity: 0.5;
  border-radius: 3px;
}

/* line 323, app/assets/stylesheets/sidebar.scss */
.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0 0.675rem;
}

/* line 329, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item {
  margin-bottom: 0.1rem;
  position: relative;
}

/* line 336, 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 341, 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 353, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link {
  color: #cc903c;
  background: transparent;
}

/* line 357, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-menu-link .sidebar-icon {
  color: #cc903c;
}

/* line 363, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link-wrapper .sidebar-arrow-btn .sidebar-arrow {
  color: #cc903c;
}

/* line 370, 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 375, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-item.active > .sidebar-menu-link .sidebar-icon {
  color: #cc903c;
}

/* line 379, 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 394, 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 401, 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 409, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper {
  display: flex;
  align-items: center;
  border-radius: 10px;
  transition: all 0.2s;
}

/* line 415, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper:hover {
  background: rgba(255, 255, 255, 0.05);
}

/* line 419, 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 424, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-wrapper .sidebar-menu-link:hover {
  background: transparent;
}

/* line 431, 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 442, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* line 445, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow-btn:hover .sidebar-arrow {
  color: rgba(255, 255, 255, 0.8);
}

/* line 451, 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 463, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #f7f6f4;
}

/* line 468, 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 473, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link.active .sidebar-icon {
  color: #cc903c;
}

/* line 477, 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 493, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-divider {
  height: 1px;
  margin: 0.3rem 0.8rem;
  background: rgba(255, 255, 255, 0.08);
  list-style: none;
}

/* line 500, 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 511, 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 519, 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 532, 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 544, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-soon {
  display: none;
}

/* line 550, 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 563, app/assets/stylesheets/sidebar.scss */
.collapsed .sidebar-badge-beta {
  display: none;
}

/* line 569, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* line 573, app/assets/stylesheets/sidebar.scss */
.sidebar-menu-link-disabled:hover {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.7);
}

/* line 580, app/assets/stylesheets/sidebar.scss */
.sidebar-icon-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;
}

/* line 588, app/assets/stylesheets/sidebar.scss */
.sidebar-arrow {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.65rem;
}

/* line 596, 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 606, app/assets/stylesheets/sidebar.scss */
.open > .sidebar-submenu {
  max-height: 500px;
  opacity: 1;
  padding: 0.2rem 0;
}

/* line 613, 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 624, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link i {
  font-size: 0.7rem;
  width: 14px;
  opacity: 0.7;
}

/* line 630, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #f7f6f4;
}

/* line 635, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active {
  color: #cc903c;
  background: rgba(204, 144, 60, 0.08);
}

/* line 639, app/assets/stylesheets/sidebar.scss */
.sidebar-submenu-link.active i {
  opacity: 1;
}

/* line 645, app/assets/stylesheets/sidebar.scss */
.sidebar-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 0.675rem 0.675rem;
}

/* line 654, 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 661, 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 671, app/assets/stylesheets/sidebar.scss */
.sidebar-user-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 677, app/assets/stylesheets/sidebar.scss */
.sidebar-footer-menu {
  padding: 0 0.5rem;
  margin: 0;
  list-style: none;
}

/* line 683, 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 689, 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 702, 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 710, 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 719, app/assets/stylesheets/sidebar.scss */
.sidebar-user-plan {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: capitalize;
}

/* line 726, app/assets/stylesheets/sidebar.scss */
.sidebar-logout-form {
  width: 100%;
  margin: 0;
}

/* line 731, 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 747, app/assets/stylesheets/sidebar.scss */
.sidebar-logout:hover {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
}

/* line 752, app/assets/stylesheets/sidebar.scss */
.sidebar-logout i {
  font-size: 0.8rem;
}

/* line 760, 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 770, app/assets/stylesheets/sidebar.scss */
.sidebar-mobile-open .sidebar-overlay {
  opacity: 1;
  visibility: visible;
}

/* line 780, app/assets/stylesheets/sidebar.scss */
.has-sidebar .navbar {
  display: none !important;
}

/* line 784, 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 790, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed #main-content {
  margin-left: 72px;
}

/* line 795, app/assets/stylesheets/sidebar.scss */
.has-sidebar .dashboard-tabs {
  display: none !important;
}

/* line 800, 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 808, app/assets/stylesheets/sidebar.scss */
.has-sidebar.sidebar-collapsed .footer,
.has-sidebar.sidebar-collapsed footer.footer {
  margin-left: 72px;
}

@media (max-width: 1024px) {
  /* line 820, app/assets/stylesheets/sidebar.scss */
  .app-sidebar {
    transform: translateX(-100%);
  }
  /* line 824, app/assets/stylesheets/sidebar.scss */
  .sidebar-mobile-open .app-sidebar {
    transform: translateX(0);
  }
  /* line 829, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .navbar {
    display: flex !important;
  }
  /* line 833, app/assets/stylesheets/sidebar.scss */
  .has-sidebar #main-content {
    margin-left: 0;
  }
  /* line 838, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .dashboard-tabs {
    display: block !important;
  }
  /* line 842, app/assets/stylesheets/sidebar.scss */
  .has-sidebar .footer,
.has-sidebar footer.footer {
    margin-left: 0;
    padding: 0 !important;
  }
}

@media (max-height: 800px) {
  /* line 854, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    min-height: 58px;
    height: 58px;
  }
  /* line 859, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 145px;
    height: 145px;
  }
  /* line 864, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 1.05rem;
  }
  /* line 868, app/assets/stylesheets/sidebar.scss */
  .sidebar-nav {
    padding: 0.2rem 0;
  }
  /* line 872, app/assets/stylesheets/sidebar.scss */
  .sidebar-category {
    margin-bottom: 0.1rem;
  }
  /* line 875, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.35rem;
    margin-top: 0.1rem;
  }
  /* line 881, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.2rem 0.7rem;
    margin-bottom: 0.1rem;
  }
  /* line 886, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.6rem;
    width: 14px;
  }
  /* line 891, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.6rem;
  }
  /* line 895, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu {
    padding: 0 0.55rem;
  }
  /* line 899, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-item {
    margin-bottom: 0.065rem;
  }
  /* line 903, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.45rem 0.7rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 909, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link-wrapper .sidebar-menu-link {
    padding-right: 0.2rem;
  }
  /* line 913, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.45rem 0.7rem 0.45rem 0.2rem;
  }
  /* line 917, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 16px;
    height: 16px;
    font-size: 0.8rem;
  }
  /* line 923, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.8rem;
  }
  /* line 929, app/assets/stylesheets/sidebar.scss */
  .open > .sidebar-submenu {
    padding: 0.1rem 0;
  }
  /* line 934, 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 940, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.675rem;
    width: 12px;
  }
  /* line 947, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.55rem 0.7rem;
  }
  /* line 951, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.45rem;
    margin-bottom: 0.35rem;
    gap: 0.55rem;
    border-radius: 7px;
  }
  /* line 958, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.7rem;
    border-radius: 7px;
  }
  /* line 965, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.75rem;
  }
  /* line 969, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.675rem;
  }
  /* line 973, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.35rem 0.7rem;
    font-size: 0.75rem;
    gap: 0.55rem;
  }
  /* line 978, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.75rem;
  }
}

@media (max-height: 700px) {
  /* line 988, app/assets/stylesheets/sidebar.scss */
  .sidebar-header {
    min-height: 58px;
    height: 58px;
  }
  /* line 993, app/assets/stylesheets/sidebar.scss */
  .sidebar-logo {
    width: 145px;
    height: 145px;
  }
  /* line 998, app/assets/stylesheets/sidebar.scss */
  .sidebar-brand-text {
    font-size: 0.9rem;
  }
  /* line 1003, app/assets/stylesheets/sidebar.scss */
  .sidebar-category:not(:first-child) {
    padding-top: 0.2rem;
  }
  /* line 1008, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-header {
    padding: 0.1rem 0.55rem;
  }
  /* line 1012, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-icon {
    font-size: 0.55rem;
  }
  /* line 1016, app/assets/stylesheets/sidebar.scss */
  .sidebar-category-title {
    font-size: 0.55rem;
  }
  /* line 1020, app/assets/stylesheets/sidebar.scss */
  .sidebar-menu-link {
    padding: 0.3rem 0.55rem;
    gap: 0.45rem;
  }
  /* line 1025, app/assets/stylesheets/sidebar.scss */
  .sidebar-arrow-btn {
    padding: 0.3rem 0.55rem 0.3rem 0.1rem;
  }
  /* line 1029, app/assets/stylesheets/sidebar.scss */
  .sidebar-icon {
    width: 14px;
    height: 14px;
    font-size: 0.7rem;
  }
  /* line 1035, app/assets/stylesheets/sidebar.scss */
  .sidebar-text {
    font-size: 0.7rem;
  }
  /* line 1039, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link {
    padding: 0.2rem 0.55rem 0.2rem 1.6rem;
    font-size: 0.675rem;
  }
  /* line 1043, app/assets/stylesheets/sidebar.scss */
  .sidebar-submenu-link i {
    font-size: 0.55rem;
    width: 10px;
  }
  /* line 1049, app/assets/stylesheets/sidebar.scss */
  .sidebar-footer {
    padding: 0.35rem 0.55rem;
  }
  /* line 1053, app/assets/stylesheets/sidebar.scss */
  .sidebar-user {
    padding: 0.3rem;
    margin-bottom: 0.2rem;
    gap: 0.45rem;
  }
  /* line 1059, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-avatar {
    width: 25px;
    height: 25px;
    font-size: 0.6rem;
  }
  /* line 1065, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-name {
    font-size: 0.675rem;
  }
  /* line 1069, app/assets/stylesheets/sidebar.scss */
  .sidebar-user-plan {
    font-size: 0.55rem;
  }
  /* line 1073, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout {
    padding: 0.25rem 0.55rem;
    font-size: 0.675rem;
  }
  /* line 1077, app/assets/stylesheets/sidebar.scss */
  .sidebar-logout i {
    font-size: 0.675rem;
  }
}

/* ===== 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 1095, app/assets/stylesheets/sidebar.scss */
.undiscovered-glow {
  color: #cc903c !important;
  animation: icon-glow-pulse 2.5s ease-in-out infinite;
}
/* ============================================
   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 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 — NOT the guided tour popover title
   (driver.js renders it as a <header>) */
.webview-mode .account-header,
.webview-mode .page-header,
.webview-mode .content-header,
.webview-mode header:not(.webview-back-btn-fixed):not(.nv-header):not(.driver-popover-title) {
  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;
  }

  /* Near full-width popover: driver.js then pins its arrow to one end,
     away from the target (bottom bar buttons, insight cards). The
     highlight already shows the target. */
  .driver-popover-arrow {
    display: none !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;
}

@charset "UTF-8";
/* 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 */
.btn-api-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  background: transparent;
  color: #e0bc8a;
  font-size: 15px;
  font-weight: 600;
  border-radius: 100px;
  border: 1px solid rgba(204, 144, 60, 0.45);
  text-decoration: none;
  transition: all 0.3s ease;
}

/* line 88, app/assets/stylesheets/api_docs.scss */
.btn-api-secondary:hover {
  transform: translateY(-2px);
  background: rgba(204, 144, 60, 0.1);
  color: #f7f6f4;
}

/* line 95, app/assets/stylesheets/api_docs.scss */
.api-docs-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}

/* line 102, app/assets/stylesheets/api_docs.scss */
.api-hero-facts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 24px;
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
}

/* line 111, app/assets/stylesheets/api_docs.scss */
.api-hero-facts li {
  font-size: 13px;
  color: #71717a;
}

/* line 115, app/assets/stylesheets/api_docs.scss */
.api-hero-facts li i {
  color: #cc903c;
  margin-right: 6px;
}

/* line 121, app/assets/stylesheets/api_docs.scss */
.api-hero-facts a {
  color: #a1a1aa;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* line 126, app/assets/stylesheets/api_docs.scss */
.api-hero-facts a:hover {
  color: #f7f6f4;
}

/* line 133, app/assets/stylesheets/api_docs.scss */
.api-docs-container {
  padding: 60px 0 100px;
  background: #000615;
}

/* line 138, app/assets/stylesheets/api_docs.scss */
.api-docs-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 60px;
}

@media (max-width: 992px) {
  /* line 138, app/assets/stylesheets/api_docs.scss */
  .api-docs-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
}

/* line 152, app/assets/stylesheets/api_docs.scss */
.api-docs-sidebar {
  position: sticky;
  top: 100px;
  height: fit-content;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  padding-right: 8px;
}

@media (max-width: 992px) {
  /* line 152, app/assets/stylesheets/api_docs.scss */
  .api-docs-sidebar {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    max-height: none;
    overflow: visible;
  }
}

/* line 171, app/assets/stylesheets/api_docs.scss */
.api-nav-section {
  margin-bottom: 30px;
}

/* line 174, 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 183, app/assets/stylesheets/api_docs.scss */
.api-nav-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 189, 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 197, app/assets/stylesheets/api_docs.scss */
.api-nav-section li a:hover {
  color: #f7f6f4;
}

/* line 204, app/assets/stylesheets/api_docs.scss */
.api-docs-content {
  min-width: 0;
  max-width: 100%;
}

/* line 209, app/assets/stylesheets/api_docs.scss */
.api-section {
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  scroll-margin-top: 100px;
}

/* line 216, app/assets/stylesheets/api_docs.scss */
.api-section:last-of-type {
  border-bottom: none;
}

/* line 220, app/assets/stylesheets/api_docs.scss */
.api-section h2 {
  font-size: 28px;
  font-weight: 700;
  color: #f7f6f4;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  overflow-wrap: anywhere;
}

/* line 232, app/assets/stylesheets/api_docs.scss */
.api-section ul, .api-section ol {
  color: #a1a1aa;
  font-size: 15px;
  line-height: 1.7;
  padding-left: 22px;
  margin-bottom: 16px;
}

/* line 239, app/assets/stylesheets/api_docs.scss */
.api-section ul li, .api-section ol li {
  margin-bottom: 6px;
}

/* line 244, app/assets/stylesheets/api_docs.scss */
.api-section strong {
  color: #f7f6f4;
}

/* line 248, app/assets/stylesheets/api_docs.scss */
.api-section a {
  color: #e0bc8a;
}

/* line 251, app/assets/stylesheets/api_docs.scss */
.api-section a:hover {
  color: #f7f6f4;
}

/* line 256, app/assets/stylesheets/api_docs.scss */
.api-section h3 {
  font-size: 20px;
  font-weight: 600;
  color: #f7f6f4;
  margin: 30px 0 15px;
}

/* line 263, app/assets/stylesheets/api_docs.scss */
.api-section h4 {
  font-size: 16px;
  font-weight: 600;
  color: #f7f6f4;
  margin: 25px 0 12px;
}

/* line 270, app/assets/stylesheets/api_docs.scss */
.api-section p {
  font-size: 15px;
  color: #a1a1aa;
  line-height: 1.7;
  margin-bottom: 16px;
}

/* line 277, 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 288, app/assets/stylesheets/api_docs.scss */
.api-info-box, .api-warning-box {
  padding: 20px 24px;
  border-radius: 12px;
  margin: 20px 0;
}

/* line 293, 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 301, 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 311, 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 315, app/assets/stylesheets/api_docs.scss */
.api-info-box h4 {
  color: #e0bc8a;
}

/* line 320, 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 326, app/assets/stylesheets/api_docs.scss */
.api-warning-box i {
  color: #cc903c;
  font-size: 18px;
  margin-top: 2px;
}

/* line 332, app/assets/stylesheets/api_docs.scss */
.api-warning-box p {
  margin: 0;
  color: #e0bc8a;
}

/* line 339, app/assets/stylesheets/api_docs.scss */
.api-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

/* line 346, 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 353, app/assets/stylesheets/api_docs.scss */
.api-feature i {
  font-size: 24px;
  color: #cc903c;
  margin-bottom: 12px;
}

/* line 359, app/assets/stylesheets/api_docs.scss */
.api-feature h5 {
  font-size: 15px;
  font-weight: 600;
  color: #f7f6f4;
  margin-bottom: 8px;
}

/* line 366, app/assets/stylesheets/api_docs.scss */
.api-feature p {
  font-size: 13px;
  color: #71717a;
  margin: 0;
}

/* line 374, app/assets/stylesheets/api_docs.scss */
.api-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}

/* line 379, 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 385, 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 394, app/assets/stylesheets/api_docs.scss */
.api-table td {
  font-size: 14px;
  color: #a1a1aa;
}

/* line 398, app/assets/stylesheets/api_docs.scss */
.api-table td code {
  font-size: 13px;
}

/* line 405, 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 412, 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 423, 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 430, app/assets/stylesheets/api_docs.scss */
.code-method.post, .method-badge.post {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}

/* line 435, app/assets/stylesheets/api_docs.scss */
.code-method.get, .method-badge.get {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}

/* line 440, app/assets/stylesheets/api_docs.scss */
.code-method.delete, .method-badge.delete {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

/* line 446, app/assets/stylesheets/api_docs.scss */
.code-path {
  font-family: 'Fira Code', monospace;
  color: #f7f6f4;
}

/* line 451, app/assets/stylesheets/api_docs.scss */
.code-block pre {
  margin: 0;
  padding: 20px;
  background: #0d0d12;
  overflow-x: auto;
}

/* line 457, app/assets/stylesheets/api_docs.scss */
.code-block pre code {
  background: none;
  padding: 0;
  color: #a1a1aa;
  font-size: 13px;
  line-height: 1.6;
}

/* line 467, 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 474, app/assets/stylesheets/api_docs.scss */
.api-docs-cta-section h2 {
  margin-bottom: 12px;
}

/* line 478, app/assets/stylesheets/api_docs.scss */
.api-docs-cta-section p {
  margin-bottom: 30px;
}

/* line 485, app/assets/stylesheets/api_docs.scss */
.api-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 20px 0;
  -webkit-overflow-scrolling: touch;
}

/* line 491, app/assets/stylesheets/api_docs.scss */
.api-table-wrap .api-table {
  margin: 0;
  min-width: 520px;
}

/* line 498, app/assets/stylesheets/api_docs.scss */
.api-audience-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin: 30px 0 10px;
}

/* line 505, app/assets/stylesheets/api_docs.scss */
.api-audience-card {
  padding: 26px;
  background: #111825;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
}

/* line 511, app/assets/stylesheets/api_docs.scss */
.api-audience-card i {
  font-size: 22px;
  color: #cc903c;
  margin-bottom: 14px;
}

/* line 517, app/assets/stylesheets/api_docs.scss */
.api-audience-card h3 {
  font-size: 18px;
  margin: 0 0 10px;
}

/* line 522, app/assets/stylesheets/api_docs.scss */
.api-audience-card p {
  font-size: 14px;
  margin: 0;
}

/* line 529, app/assets/stylesheets/api_docs.scss */
.api-plan-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}

/* line 540, app/assets/stylesheets/api_docs.scss */
.api-plan-badge.pro {
  background: rgba(204, 144, 60, 0.15);
  color: #e0bc8a;
  border: 1px solid rgba(204, 144, 60, 0.35);
}

/* line 546, app/assets/stylesheets/api_docs.scss */
.api-plan-badge.max {
  background: rgba(167, 139, 250, 0.15);
  color: #c4b5fd;
  border: 1px solid rgba(167, 139, 250, 0.35);
}

/* line 552, app/assets/stylesheets/api_docs.scss */
.api-plan-badge.enterprise {
  background: rgba(56, 189, 248, 0.12);
  color: #7dd3fc;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

/* line 561, app/assets/stylesheets/api_docs.scss */
.api-plans-table thead th {
  vertical-align: bottom;
  text-transform: none;
  letter-spacing: 0;
}

/* line 566, app/assets/stylesheets/api_docs.scss */
.api-plans-table thead th:not(:first-child) {
  text-align: center;
}

/* line 571, app/assets/stylesheets/api_docs.scss */
.api-plans-table tbody th {
  font-size: 14px;
  font-weight: 500;
  color: #a1a1aa;
  text-transform: none;
  letter-spacing: 0;
  background: none;
}

/* line 580, app/assets/stylesheets/api_docs.scss */
.api-plans-table td {
  text-align: center;
}

/* line 584, app/assets/stylesheets/api_docs.scss */
.api-plans-table .is-included i {
  color: #4ade80;
}

/* line 588, app/assets/stylesheets/api_docs.scss */
.api-plans-table .is-locked i {
  color: #71717a;
  opacity: 0.6;
}

/* line 594, app/assets/stylesheets/api_docs.scss */
.api-plan-price {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #f7f6f4;
}

/* line 602, app/assets/stylesheets/api_docs.scss */
.api-plan-price-note {
  display: block;
  font-size: 12px;
  font-weight: 400;
  color: #71717a;
}

/* line 609, app/assets/stylesheets/api_docs.scss */
.api-section p.api-footnote {
  font-size: 13px;
  color: #71717a;
}

/* line 615, app/assets/stylesheets/api_docs.scss */
.api-section ol.api-steps {
  list-style: none;
  counter-reset: api-step;
  padding: 0;
  margin: 24px 0;
}

/* line 621, app/assets/stylesheets/api_docs.scss */
.api-section ol.api-steps > li {
  counter-increment: api-step;
  position: relative;
  padding: 0 0 8px 48px;
  margin-bottom: 18px;
}

/* line 627, app/assets/stylesheets/api_docs.scss */
.api-section ol.api-steps > li::before {
  content: counter(api-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.35);
  color: #e0bc8a;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 645, app/assets/stylesheets/api_docs.scss */
.api-section ol.api-steps > li h4 {
  margin: 4px 0 10px;
}

/* line 652, app/assets/stylesheets/api_docs.scss */
.api-faq-item {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: #111825;
  margin-bottom: 12px;
}

/* line 658, app/assets/stylesheets/api_docs.scss */
.api-faq-item summary {
  cursor: pointer;
  padding: 18px 22px;
  font-size: 15px;
  font-weight: 600;
  color: #f7f6f4;
  list-style: none;
}

/* line 666, app/assets/stylesheets/api_docs.scss */
.api-faq-item summary::-webkit-details-marker {
  display: none;
}

/* line 670, app/assets/stylesheets/api_docs.scss */
.api-faq-item summary::after {
  content: "+";
  float: right;
  color: #cc903c;
  font-weight: 700;
}

/* line 678, app/assets/stylesheets/api_docs.scss */
.api-faq-item[open] summary::after {
  content: "−";
}

/* line 682, app/assets/stylesheets/api_docs.scss */
.api-faq-item p {
  padding: 0 22px 18px;
  margin: 0;
}

/* line 688, app/assets/stylesheets/api_docs.scss */
.api-docs-cta-section .api-docs-cta {
  margin-top: 10px;
}
/* line 17, 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 25, 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 36, app/assets/stylesheets/company_settings.scss */
.company-card:hover {
  border-color: rgba(204, 144, 60, 0.3);
}

/* line 41, app/assets/stylesheets/company_settings.scss */
.credential-input-group {
  display: flex;
  gap: 0.4rem;
}

/* line 46, 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 56, app/assets/stylesheets/company_settings.scss */
.credential-input:focus {
  outline: none;
  border-color: rgba(204, 144, 60, 0.5);
}

/* line 62, 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 71, 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 79, 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 88, app/assets/stylesheets/company_settings.scss */
.status-badge.status-success {
  background: rgba(204, 144, 60, 0.2);
  color: #cc903c;
}

/* line 93, app/assets/stylesheets/company_settings.scss */
.status-badge.status-error {
  background: rgba(255, 107, 107, 0.2);
  color: #ff6b6b;
}

/* line 100, 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 113, app/assets/stylesheets/company_settings.scss */
.btn-docs:hover {
  background: rgba(224, 188, 138, 0.25);
  color: #e0bc8a;
  text-decoration: none;
}

/* line 120, 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 135, app/assets/stylesheets/company_settings.scss */
.btn-danger-outline:hover {
  background: rgba(204, 144, 60, 0.15);
  border-color: #cc903c;
}

/* line 142, 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 152, 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 152, app/assets/stylesheets/company_settings.scss */
  .usage-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 152, app/assets/stylesheets/company_settings.scss */
  .usage-stats-grid {
    grid-template-columns: 1fr;
  }
}

/* line 167, 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 174, app/assets/stylesheets/company_settings.scss */
.usage-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #f7f6f4;
  margin-bottom: 0.2rem;
}

/* line 181, app/assets/stylesheets/company_settings.scss */
.usage-stat-label {
  font-size: 0.7rem;
  color: #64748b;
  margin-bottom: 0.4rem;
}

/* line 187, app/assets/stylesheets/company_settings.scss */
.usage-stat-remaining {
  font-size: 0.6rem;
  color: #64748b;
  margin-top: 0.4rem;
}

/* line 193, app/assets/stylesheets/company_settings.scss */
.usage-progress {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

/* line 200, 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 207, app/assets/stylesheets/company_settings.scss */
.api-calls-table {
  overflow-x: auto;
}

/* line 210, app/assets/stylesheets/company_settings.scss */
.api-calls-table table {
  width: 100%;
  border-collapse: collapse;
}

/* line 214, 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 220, 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 228, app/assets/stylesheets/company_settings.scss */
.api-calls-table table td {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* line 232, 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 241, app/assets/stylesheets/company_settings.scss */
.api-calls-table table .empty-state {
  text-align: center;
  color: #64748b;
  padding: 1.5rem;
}

/* line 251, 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 258, app/assets/stylesheets/company_settings.scss */
.api-docs-content h6:first-child {
  margin-top: 0;
}

/* line 262, app/assets/stylesheets/company_settings.scss */
.api-docs-content h6 i {
  color: #cc903c;
}

/* line 267, 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 278, 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 290, 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 305, app/assets/stylesheets/company_settings.scss */
.copy-toast.show {
  opacity: 1;
  transform: translateY(0);
}
/* line 10, app/assets/stylesheets/account_api.scss */
.api-account-page .api-hero-card {
  position: relative;
  overflow: hidden;
}

/* line 15, app/assets/stylesheets/account_api.scss */
.api-account-page .api-hero {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

/* line 23, app/assets/stylesheets/account_api.scss */
.api-account-page .api-hero-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: #f7f6f4;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.25);
}

/* line 37, app/assets/stylesheets/account_api.scss */
.api-account-page .api-hero-text {
  flex: 1 1 260px;
  min-width: 0;
}

/* line 41, app/assets/stylesheets/account_api.scss */
.api-account-page .api-hero-text h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 48, app/assets/stylesheets/account_api.scss */
.api-account-page .api-hero-links {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 54, app/assets/stylesheets/account_api.scss */
.api-account-page .api-plan-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: 1px solid rgba(var(--accent-primary-rgb), 0.35);
  background: rgba(var(--accent-primary-rgb), 0.12);
  color: var(--accent-primary);
}

/* line 66, app/assets/stylesheets/account_api.scss */
.api-account-page .api-plan-badge.api-plan-max {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

/* line 73, app/assets/stylesheets/account_api.scss */
.api-account-page .api-usage-grid .usage-stat-value small {
  font-size: 0.7em;
  color: var(--text-muted);
  font-weight: 500;
  margin-left: 2px;
}

/* line 81, app/assets/stylesheets/account_api.scss */
.api-account-page .api-new-token {
  border: 1px solid rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.07);
  border-radius: 12px;
  padding: 1rem;
  margin-bottom: 1rem;
}

/* line 88, app/assets/stylesheets/account_api.scss */
.api-account-page .api-new-token .api-new-token-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-success);
  margin-bottom: 0.4rem;
}

/* line 96, app/assets/stylesheets/account_api.scss */
.api-account-page .api-new-token p {
  color: var(--text-secondary);
  font-size: 0.85rem;
}

/* line 101, app/assets/stylesheets/account_api.scss */
.api-account-page .api-new-token .api-token-input {
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.8rem;
}

/* line 107, app/assets/stylesheets/account_api.scss */
.api-account-page .api-key-inactive td {
  opacity: 0.55;
}

/* line 111, app/assets/stylesheets/account_api.scss */
.api-account-page .api-empty-state {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem;
  border: 1px dashed var(--border-color-light);
  border-radius: 10px;
  color: var(--text-secondary);
}

/* line 121, app/assets/stylesheets/account_api.scss */
.api-account-page .api-feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
}

/* line 126, app/assets/stylesheets/account_api.scss */
.api-account-page .api-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.35rem 0;
  color: var(--text-primary);
  font-size: 0.85rem;
  line-height: 1.4;
}

/* line 136, app/assets/stylesheets/account_api.scss */
.api-account-page .api-feature-list i {
  color: var(--color-success);
  margin-top: 3px;
  width: 14px;
  text-align: center;
  flex: 0 0 14px;
}

/* line 144, app/assets/stylesheets/account_api.scss */
.api-account-page .api-feature-list.api-feature-list-upgrade i {
  color: #3b82f6;
}

/* line 148, app/assets/stylesheets/account_api.scss */
.api-account-page .api-feature-list.api-feature-list-muted i {
  color: var(--text-muted);
}

/* line 153, app/assets/stylesheets/account_api.scss */
.api-account-page .api-upgrade-card {
  border-color: rgba(59, 130, 246, 0.3);
  background: radial-gradient(circle at 100% 0%, rgba(59, 130, 246, 0.14), transparent 55%), var(--bg-card);
}

/* line 159, app/assets/stylesheets/account_api.scss */
.api-account-page .api-upgrade-card h5 {
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 165, app/assets/stylesheets/account_api.scss */
.api-account-page .api-upgrade-card.api-upgrade-done {
  text-align: center;
}

/* line 170, app/assets/stylesheets/account_api.scss */
.api-account-page .api-upgrade-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
  color: #f7f6f4;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

/* line 182, app/assets/stylesheets/account_api.scss */
.api-account-page .api-docs-content pre {
  white-space: pre-wrap;
  word-break: break-all;
}

/* line 187, app/assets/stylesheets/account_api.scss */
.api-account-page .api-calls-table {
  overflow-x: auto;
}

/* line 194, app/assets/stylesheets/account_api.scss */
.api-account-page .api-key-form .credential-input {
  font-family: inherit;
  height: 42px;
  font-size: 0.85rem;
}

/* line 200, app/assets/stylesheets/account_api.scss */
.api-account-page .api-key-form .btn-api-primary {
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 8px;
  padding: 0 1rem;
}

/* line 211, app/assets/stylesheets/account_api.scss */
.api-account-page .api-upgrade-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.9rem;
  color: #f7f6f4;
  text-decoration: none;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.25);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

/* line 226, app/assets/stylesheets/account_api.scss */
.api-account-page .api-upgrade-btn:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.35);
}

/* line 236, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .gate-icon.api-gate-icon {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.25);
}

/* line 241, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .gate-title-large.api-gate-title {
  background: linear-gradient(135deg, #ffffff 0%, #93c5fd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 248, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .btn-premium.api-btn {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.25);
}

/* line 252, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .btn-premium.api-btn:hover {
  background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.35);
}

/* line 258, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .demo-badge.api-demo-badge {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}

/* line 263, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-gate-price {
  font-weight: 600;
  color: var(--text-primary);
}

/* line 268, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-gate-max {
  margin-top: 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: 10px;
  font-size: 0.82rem;
  color: var(--text-secondary);
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

/* line 277, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-gate-max i {
  color: #3b82f6;
}

/* line 282, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-terminal {
  min-height: 300px;
  padding: 0;
  overflow: hidden;
  background: #050b1a;
}

/* line 289, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-terminal-bar {
  display: flex;
  gap: 6px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 295, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-terminal-bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}

/* line 303, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-terminal-code {
  margin: 0;
  padding: 1rem 1.25rem;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.6;
  color: #cbd5e1;
  background: transparent;
  white-space: pre;
  overflow: hidden;
}

/* line 315, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-t-prompt {
  color: #22c55e;
}

/* line 316, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-t-key {
  color: #93c5fd;
}

/* line 317, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-t-str {
  color: #e0bc8a;
}

/* line 318, app/assets/stylesheets/account_api.scss */
.premium-gate-page.api-gate .api-t-num {
  color: #f9a8d4;
}

@media (max-width: 576px) {
  /* line 322, app/assets/stylesheets/account_api.scss */
  .api-account-page .api-hero-links {
    width: 100%;
  }
  /* line 326, app/assets/stylesheets/account_api.scss */
  .premium-gate-page.api-gate .api-terminal-code {
    font-size: 0.68rem;
  }
}
/* 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 .sim-orb.gradient-orb-1 {
  background: radial-gradient(circle, rgba(204, 144, 60, 0.3) 0%, transparent 70%);
}

/* line 169, 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 172, 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 184, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-hero {
  position: relative;
  z-index: 1;
}

/* line 190, 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 205, 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 217, 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 229, app/assets/stylesheets/subscription_gate.scss */
.gate-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}

/* line 236, 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 246, 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 253, 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 261, app/assets/stylesheets/subscription_gate.scss */
.gate-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 266, 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 275, app/assets/stylesheets/subscription_gate.scss */
.gate-features li i {
  flex-shrink: 0;
  margin-top: 2px;
}

/* line 282, app/assets/stylesheets/subscription_gate.scss */
.gate-features-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem;
}

/* line 290, 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 299, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-mini {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 305, 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 315, 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 323, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-wrapper:hover {
  transform: translateY(-3px);
}

/* line 328, 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 334, 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 342, app/assets/stylesheets/subscription_gate.scss */
.demo-badge.sim-badge, .demo-badge.graph-badge {
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
}

/* line 349, app/assets/stylesheets/subscription_gate.scss */
.demo-preview-content {
  position: relative;
  padding: 1.5rem;
  min-height: 300px;
}

/* line 355, 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 367, app/assets/stylesheets/subscription_gate.scss */
.fake-sim-dashboard {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

/* line 373, 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 379, 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 385, 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 391, app/assets/stylesheets/subscription_gate.scss */
.sim-scenario-demo .scenario-tags {
  display: flex;
  gap: 0.4rem;
}

/* line 395, 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 406, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 411, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* line 416, 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 424, 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 431, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill {
  height: 100%;
  border-radius: 4px;
}

/* line 435, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill.negative {
  background: linear-gradient(90deg, #dc3545, #ff6b6b);
}

/* line 436, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-bar .impact-fill.positive {
  background: linear-gradient(90deg, #28a745, #51cf66);
}

/* line 440, 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 446, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value.negative {
  color: #dc3545;
}

/* line 447, app/assets/stylesheets/subscription_gate.scss */
.sim-results-demo .sim-result-row .impact-value.positive {
  color: #28a745;
}

/* line 452, 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 459, 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 465, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

/* line 469, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value.negative {
  color: #dc3545;
}

/* line 470, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-value.positive {
  color: #28a745;
}

/* line 472, app/assets/stylesheets/subscription_gate.scss */
.sim-portfolio-demo .portfolio-impact-detail {
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* line 479, app/assets/stylesheets/subscription_gate.scss */
.graph-chart-demo {
  position: relative;
  min-height: 400px;
}

/* line 484, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg {
  width: 100%;
  height: 400px;
  display: block;
}

/* line 490, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg > line {
  opacity: 0;
  animation: gate-fade-in 0.8s ease-out forwards;
}

/* line 497, 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 504, 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 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(7) {
  animation-delay: 0.6s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(8) {
  animation-delay: 0.7s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(9) {
  animation-delay: 0.8s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(10) {
  animation-delay: 0.9s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(11) {
  animation-delay: 1s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(12) {
  animation-delay: 1.1s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(13) {
  animation-delay: 1.2s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(14) {
  animation-delay: 1.3s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(15) {
  animation-delay: 1.4s;
}

/* line 511, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg line:nth-of-type(16) {
  animation-delay: 1.5s;
}

/* line 515, 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 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(1) {
  animation-delay: 0.6s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(2) {
  animation-delay: 0.7s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(3) {
  animation-delay: 0.8s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(4) {
  animation-delay: 0.9s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(5) {
  animation-delay: 1s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(6) {
  animation-delay: 1.1s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(7) {
  animation-delay: 1.2s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(8) {
  animation-delay: 1.3s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(9) {
  animation-delay: 1.4s;
}

/* line 523, app/assets/stylesheets/subscription_gate.scss */
.demo-chart-svg rect:nth-of-type(10) {
  animation-delay: 1.5s;
}

/* line 526, 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 547, 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 561, 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 569, 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 577, 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 597, 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 610, 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 621, 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 626, app/assets/stylesheets/subscription_gate.scss */
.premium-gate-page .btn-premium:hover::before {
  left: 100%;
}

/* line 631, 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 642, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-page {
    padding: 1.5rem 0.5rem;
  }
  /* line 646, app/assets/stylesheets/subscription_gate.scss */
  .gate-title-large {
    font-size: 1.6rem;
  }
  /* line 650, app/assets/stylesheets/subscription_gate.scss */
  .gate-subtitle-large {
    font-size: 0.95rem;
  }
  /* line 654, app/assets/stylesheets/subscription_gate.scss */
  .gate-icon {
    width: 64px;
    height: 64px;
    font-size: 1.8rem;
    border-radius: 18px;
  }
  /* line 661, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-cta-card {
    padding: 1.5rem;
    margin-top: 1.5rem;
  }
  /* line 666, app/assets/stylesheets/subscription_gate.scss */
  .demo-preview-content {
    min-height: 240px;
    padding: 1rem;
  }
  /* line 671, app/assets/stylesheets/subscription_gate.scss */
  .graph-chart-demo {
    min-height: 260px;
  }
  /* line 672, app/assets/stylesheets/subscription_gate.scss */
  .demo-chart-svg {
    height: 260px;
  }
}

@media (max-width: 575px) {
  /* line 676, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-page {
    padding: 1rem 0.25rem;
  }
  /* line 680, app/assets/stylesheets/subscription_gate.scss */
  .gate-title {
    font-size: 1.3rem;
  }
  /* line 684, app/assets/stylesheets/subscription_gate.scss */
  .gate-title-large {
    font-size: 1.4rem;
  }
  /* line 688, app/assets/stylesheets/subscription_gate.scss */
  .gate-subtitle,
.gate-subtitle-large {
    font-size: 0.85rem;
  }
  /* line 693, app/assets/stylesheets/subscription_gate.scss */
  .gate-icon {
    width: 56px;
    height: 56px;
    font-size: 1.5rem;
    border-radius: 14px;
  }
  /* line 700, app/assets/stylesheets/subscription_gate.scss */
  .gate-features li {
    font-size: 0.82rem;
  }
  /* line 704, app/assets/stylesheets/subscription_gate.scss */
  .premium-gate-cta-card {
    padding: 1.25rem;
  }
  /* line 708, app/assets/stylesheets/subscription_gate.scss */
  .demo-preview-wrapper {
    border-radius: 12px;
  }
  /* line 712, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-mini {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  /* line 718, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-gate {
    gap: 0.6rem;
  }
  /* line 721, app/assets/stylesheets/subscription_gate.scss */
  .trust-badges-gate .trust-badge-item {
    padding: 0.4rem 0.8rem;
    font-size: 0.75rem;
  }
  /* line 728, app/assets/stylesheets/subscription_gate.scss */
  .gate-features-detailed li strong {
    font-size: 0.85rem;
  }
  /* line 729, app/assets/stylesheets/subscription_gate.scss */
  .gate-features-detailed li p {
    font-size: 0.78rem;
  }
  /* line 732, app/assets/stylesheets/subscription_gate.scss */
  .sim-result-row .stock-ticker {
    min-width: 38px;
    font-size: 0.75rem;
  }
}

/* line 739, 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 748, 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 753, 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 760, app/assets/stylesheets/subscription_gate.scss */
.trust-badges-gate {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 767, 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 781, app/assets/stylesheets/subscription_gate.scss */
.trust-badge-item:hover {
  transform: translateY(-2px);
}

/* line 785, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

/* line 790, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.2rem;
}

/* line 796, app/assets/stylesheets/subscription_gate.scss */
.gate-features-detailed li > i {
  font-size: 1.2rem;
  flex-shrink: 0;
  margin-top: 3px;
}

/* line 802, 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 809, 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 821, 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 822, 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 826, 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 831, 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 838, 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 842, 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 848, app/assets/stylesheets/subscription_gate.scss */
.chatbot-badge {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #3b82f6 !important;
}

/* line 853, app/assets/stylesheets/subscription_gate.scss */
.fake-chatbot-dashboard {
  padding: 1.5rem;
  min-height: 250px;
}

/* line 858, app/assets/stylesheets/subscription_gate.scss */
.chat-demo-messages {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 864, app/assets/stylesheets/subscription_gate.scss */
.chat-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 869, app/assets/stylesheets/subscription_gate.scss */
.chat-msg.user-msg {
  justify-content: flex-end;
}

/* line 870, app/assets/stylesheets/subscription_gate.scss */
.chat-msg.ai-msg {
  justify-content: flex-start;
}

/* line 873, 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 883, app/assets/stylesheets/subscription_gate.scss */
.chat-avatar i {
  font-size: 0.7rem;
  color: #f7f6f4;
}

/* line 886, 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 893, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.user-bubble {
  background: linear-gradient(135deg, #3b82f6, #cc903c);
  color: #f7f6f4;
  border-bottom-right-radius: 4px;
}

/* line 899, 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 906, app/assets/stylesheets/subscription_gate.scss */
.chat-bubble.typing-demo {
  display: flex;
  gap: 4px;
  padding: 0.8rem 1.2rem;
}

/* line 913, 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 920, app/assets/stylesheets/subscription_gate.scss */
.typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}

/* line 921, 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 930, 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 942, app/assets/stylesheets/subscription_gate.scss */
.prediction-column.locked {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 948, 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 961, app/assets/stylesheets/subscription_gate.scss */
.prediction-locked-badge i {
  font-size: 0.65rem;
}

/* line 965, 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 975, 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 989, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-level .level-value-locked i {
  font-size: 0.6rem;
}

/* line 993, 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 1003, app/assets/stylesheets/subscription_gate.scss */
.premium-locked-section {
  opacity: 0.8;
}
/* 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 1218, app/assets/stylesheets/pricing.scss */
.trial-announcement {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.55rem;
  margin: 0 auto 1.25rem;
  padding: 0.5rem 1.1rem;
  text-align: center;
  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;
}

@media (max-width: 480px) {
  /* line 1218, app/assets/stylesheets/pricing.scss */
  .trial-announcement {
    display: block;
    border-radius: 14px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    line-height: 1.45;
  }
  /* line 1245, app/assets/stylesheets/pricing.scss */
  .trial-announcement i {
    margin-right: 0.35rem;
  }
}

/* line 1251, app/assets/stylesheets/pricing.scss */
.pricing-price-sub .pricing-promo-note {
  display: block;
  line-height: 1.4;
}

/* line 1255, app/assets/stylesheets/pricing.scss */
.pricing-price-sub .pricing-promo-note i {
  font-size: 0.7rem;
  margin-right: 2px;
}

/* line 1258, app/assets/stylesheets/pricing.scss */
.pricing-price-sub .pricing-promo-note + .pricing-save-inline {
  display: block;
  margin-top: 0.2rem;
}

/* line 1264, app/assets/stylesheets/pricing.scss */
.pricing-feature-more {
  padding-top: 0.2rem;
}

/* line 1267, app/assets/stylesheets/pricing.scss */
.pricing-feature-more a {
  font-size: 0.8rem;
  font-weight: 600;
  color: #e0bc8a;
  text-decoration: none;
}

/* line 1273, 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;
  }
}

/* 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: passwordCheckerSlideDown 0.3s ease-out;
}

@keyframes passwordCheckerSlideDown {
  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;
}
/* ============================================
   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);
}

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

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

/* 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, 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,
/* Le widget est rendu dans la racine #app, sœur du chargeur. */
html:not(.loader-already-shown) #initial-loader:not(.hidden) ~ #app .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;
  }

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

/* Card J+1 display — hidden by default (shown in the mobile card layout) */
.card-j1-display {
  display: none;
}
@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 1081, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .confidence-chip.confidence-high,
.sa-section-ai .confidence-chip.confidence-very-high,
.sa-section-ai .confidence-chip.confidence-medium,
.sa-section-ai .confidence-chip.confidence-low {
  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 1093, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .confidence-chip.confidence-high i,
.sa-section-ai .confidence-chip.confidence-very-high i,
.sa-section-ai .confidence-chip.confidence-medium i,
.sa-section-ai .confidence-chip.confidence-low i {
  font-size: 0.65rem;
}

/* line 1095, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .confidence-chip.confidence-high, .sa-section-ai .confidence-chip.confidence-very-high {
  background: rgba(204, 144, 60, 0.15);
  border: 1px solid rgba(204, 144, 60, 0.4);
  color: #22c55e;
}

/* line 1100, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .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 1105, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .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 1111, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .card-ai-reasoning {
  margin-bottom: 0.5rem;
}

/* line 1115, 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 1122, 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 1134, 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 1141, 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 1144, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.daily .reasoning-label {
  color: #00b4d8;
}

/* line 1147, 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 1152, 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 1157, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-header .disagreement-icon {
  font-size: 1rem;
}

/* line 1158, 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 1167, 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 1175, 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 1182, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .reasoning-block.disagreement .disagreement-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* line 1186, 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 1187, 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 1192, 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 1193, 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 1194, 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 1198, 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 1206, 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 1211, 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 1221, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .section-title i {
  color: var(--accent-primary);
}

/* line 1224, 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 1224, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai .complementary-info-section .info-blocks-grid {
    grid-template-columns: 1fr;
  }
}

/* line 1231, 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 1237, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block .block-icon {
  font-size: 1rem;
  margin-right: 0.4rem;
}

/* line 1238, 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 1245, 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 1252, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.macro {
  border-left-color: #00b4d8;
}

/* line 1252, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.macro .block-title {
  color: #00b4d8;
}

/* line 1253, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.company {
  border-left-color: #e0bc8a;
}

/* line 1253, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.company .block-title {
  color: #e0bc8a;
}

/* line 1254, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.technical {
  border-left-color: #e0bc8a;
}

/* line 1254, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.technical .block-title {
  color: #e0bc8a;
}

/* line 1255, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.catalysts {
  border-left-color: #22c55e;
}

/* line 1255, app/assets/stylesheets/stock_analysis.scss */
.sa-section-ai .complementary-info-section .info-block.catalysts .block-title {
  color: #22c55e;
}

/* line 1260, 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 1269, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner > i {
  font-size: 1.3rem;
  color: #ffab00;
  flex-shrink: 0;
}

/* line 1270, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner div {
  flex: 1;
}

/* line 1271, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner strong {
  font-size: 0.85rem;
  color: var(--text-primary);
  display: block;
  margin-bottom: 2px;
}

/* line 1272, 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 1273, app/assets/stylesheets/stock_analysis.scss */
.sa-partial-banner .btn {
  flex-shrink: 0;
}

/* line 1276, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated {
  margin-top: 1rem;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 1276, app/assets/stylesheets/stock_analysis.scss */
.sa-ai-updated i {
  margin-right: 0.3rem;
}

/* line 1279, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-row {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}

/* line 1285, 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 1295, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-label {
  font-size: 0.65rem;
  color: var(--text-muted);
  text-transform: uppercase;
  font-weight: 600;
}

/* line 1296, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1297, app/assets/stylesheets/stock_analysis.scss */
.sa-yield-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
}

/* line 1300, 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 1306, 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 1311, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-panel h4 i {
  color: var(--accent-primary);
  margin-right: 0.4rem;
}

/* line 1315, app/assets/stylesheets/stock_analysis.scss */
.sa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
}

/* line 1321, 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 1333, 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 1343, 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 1353, 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 1357, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::before {
  opacity: 1;
}

/* line 1358, app/assets/stylesheets/stock_analysis.scss */
.sa-card:hover::after {
  opacity: 1;
}

/* line 1362, app/assets/stylesheets/stock_analysis.scss */
.sa-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

/* line 1370, app/assets/stylesheets/stock_analysis.scss */
.sa-card-ident {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 1377, app/assets/stylesheets/stock_analysis.scss */
.sa-card-symbol {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1383, 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 1391, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-complete {
  background: rgba(var(--accent-primary-rgb), 0.15);
  color: var(--accent-primary);
}

/* line 1392, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-warning {
  background: rgba(204, 144, 60, 0.15);
  color: #cc903c;
}

/* line 1393, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-error {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

/* line 1394, app/assets/stylesheets/stock_analysis.scss */
.sa-badge-pending {
  background: rgba(148, 163, 184, 0.12);
  color: #94a3b8;
}

/* line 1397, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-section {
  position: relative;
}

/* line 1398, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-history-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

/* line 1401, 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 1406, app/assets/stylesheets/stock_analysis.scss */
.sa-vh-badge strong {
  color: var(--text-primary);
  margin-left: 0.2rem;
}

/* line 1408, 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 1413, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-legend {
  display: flex;
  gap: 1.5rem;
  margin-top: 0.75rem;
  justify-content: center;
}

/* line 1416, 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 1420, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-dot {
  width: 10px;
  height: 3px;
  border-radius: 2px;
}

/* line 1423, app/assets/stylesheets/stock_analysis.scss */
.sa-vl-price {
  background: rgba(34, 197, 94, 0.9);
}

/* line 1424, 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 1427, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 0.35rem;
  cursor: help;
}

/* line 1434, 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 1440, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover > i {
  color: var(--accent-primary);
}

/* line 1442, 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 1464, 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 1475, app/assets/stylesheets/stock_analysis.scss */
.sa-tooltip-trigger:hover .sa-tooltip-content {
  display: block;
}

/* line 1489, 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 1494, app/assets/stylesheets/stock_analysis.scss */
.sa-section-title .sa-tooltip-trigger {
  vertical-align: middle;
}

/* line 1495, 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 1499, 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 1501, app/assets/stylesheets/stock_analysis.scss */
.sa-scenario-card .sa-tooltip-trigger .sa-tooltip-content {
  width: 220px;
}

@media (max-width: 768px) {
  /* line 1506, app/assets/stylesheets/stock_analysis.scss */
  .sa-tooltip-trigger .sa-tooltip-content {
    width: 200px;
    font-size: 0.63rem;
  }
}

/* line 1512, 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 1521, app/assets/stylesheets/stock_analysis.scss */
.sa-toc-help i {
  color: var(--accent-primary);
  margin-right: 0.3rem;
}

/* line 1524, 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 1533, app/assets/stylesheets/stock_analysis.scss */
.sa-card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

/* line 1540, 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 1548, app/assets/stylesheets/stock_analysis.scss */
.sa-card-price {
  font-weight: 700;
  color: var(--text-primary);
  font-size: var(--font-sm);
}

/* line 1554, app/assets/stylesheets/stock_analysis.scss */
.sa-card-scores {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

/* line 1560, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1565, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-label {
  font-size: 0.6rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

/* line 1566, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value {
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 1568, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-good {
  color: var(--color-success);
}

/* line 1569, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-neutral {
  color: var(--color-warning);
}

/* line 1570, app/assets/stylesheets/stock_analysis.scss */
.sa-mini-score-value.sa-gauge-bad {
  color: var(--color-danger);
}

/* line 1573, app/assets/stylesheets/stock_analysis.scss */
.sa-card-footer {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
}

/* line 1579, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* line 1579, app/assets/stylesheets/stock_analysis.scss */
.sa-card-updated i {
  margin-right: 3px;
}

/* line 1582, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section {
  margin-bottom: 1.5rem;
}

/* line 1584, app/assets/stylesheets/stock_analysis.scss */
.sa-top-picks-section .sa-section-title i {
  color: #cc903c;
}

/* line 1587, 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 1594, 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 1600, 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 1611, 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 1618, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1624, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-logo {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  object-fit: contain;
}

/* line 1631, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-identity {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

/* line 1638, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-symbol {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1644, 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 1652, 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 1659, app/assets/stylesheets/stock_analysis.scss */
.sa-top-pick-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* line 1665, 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 1675, 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 1681, 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 1687, 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 1694, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-label {
  opacity: 0.7;
}

/* line 1698, app/assets/stylesheets/stock_analysis.scss */
.sa-metric-value {
  font-weight: 700;
}

/* line 1703, app/assets/stylesheets/stock_analysis.scss */
.sa-empty {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--text-muted);
}

/* line 1707, app/assets/stylesheets/stock_analysis.scss */
.sa-empty i {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.2;
}

/* line 1708, app/assets/stylesheets/stock_analysis.scss */
.sa-empty h3 {
  color: var(--text-secondary);
  margin-bottom: 0.5rem;
}

/* line 1712, app/assets/stylesheets/stock_analysis.scss */
.sa-show-symbol {
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

/* line 1713, 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 1714, 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 1715, app/assets/stylesheets/stock_analysis.scss */
.sa-price-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1717, 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 1731, app/assets/stylesheets/stock_analysis.scss */
.sa-refresh-btn:hover {
  background: var(--accent-primary);
  color: var(--text-inverse);
  border-color: var(--accent-primary);
}

/* line 1732, 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 1733, 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 1743, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-overlay {
  margin-bottom: 2rem;
}

/* line 1745, 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 1755, 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 1764, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon {
  margin-bottom: 1rem;
}

/* line 1766, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
}

/* line 1769, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-error .sa-loading-icon i {
  color: var(--color-danger);
}

/* line 1770, 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 1771, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-message {
  color: var(--text-secondary);
  font-size: var(--font-sm);
  margin-bottom: 1.5rem;
}

/* line 1773, 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 1782, 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 1790, app/assets/stylesheets/stock_analysis.scss */
.sa-loading-pct {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--accent-primary);
}

/* line 1793, 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 1802, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon {
  margin-bottom: 1rem;
}

/* line 1802, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis-icon i {
  font-size: 2.5rem;
  color: var(--accent-primary);
  opacity: 0.5;
}

/* line 1803, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis h2 {
  font-size: var(--font-xl);
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

/* line 1804, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-analysis p {
  color: var(--text-secondary);
  font-size: var(--font-sm);
}

/* line 1805, app/assets/stylesheets/stock_analysis.scss */
.sa-empty-note {
  margin-top: 1rem;
  font-size: 0.7rem !important;
  color: var(--text-muted) !important;
}

/* line 1807, 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 1822, 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 1824, app/assets/stylesheets/stock_analysis.scss */
.sa-btn-lg {
  padding: 0.9rem 2rem;
  font-size: var(--font-lg);
}

/* line 1827, 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 1834, app/assets/stylesheets/stock_analysis.scss */
.sa-nav-tabs::-webkit-scrollbar {
  display: none;
}

/* line 1837, 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 1850, app/assets/stylesheets/stock_analysis.scss */
.sa-tab:hover {
  color: var(--text-primary);
}

/* line 1851, 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 1859, app/assets/stylesheets/stock_analysis.scss */
.sa-tab-content {
  display: none;
}

/* line 1859, 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 1863, app/assets/stylesheets/stock_analysis.scss */
.sa-section-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.25rem;
}

/* line 1869, 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 1878, 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 1884, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-wide {
  grid-column: 1 / -1;
}

/* line 1886, 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 1891, 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 1899, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-header h3 i {
  color: var(--accent-primary);
  font-size: 0.85rem;
}

/* line 1903, app/assets/stylesheets/stock_analysis.scss */
.sa-panel-body {
  padding: 1.5rem;
}

/* line 1906, 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 1913, app/assets/stylesheets/stock_analysis.scss */
.sa-score-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

/* line 1920, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring {
  position: relative;
  width: 80px;
  height: 80px;
}

/* line 1925, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

/* line 1931, app/assets/stylesheets/stock_analysis.scss */
.sa-score-ring .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 4;
}

/* line 1936, 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 1942, 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 1943, 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 1944, 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 1947, 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 1956, app/assets/stylesheets/stock_analysis.scss */
.sa-score-number {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}

/* line 1957, app/assets/stylesheets/stock_analysis.scss */
.sa-score-max {
  font-size: 0.6rem;
  color: var(--text-muted);
  margin-top: 2px;
}

/* line 1958, app/assets/stylesheets/stock_analysis.scss */
.sa-score-label {
  font-size: 0.7rem;
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 1959, app/assets/stylesheets/stock_analysis.scss */
.sa-score-desc {
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* line 1962, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1.25rem;
}

/* line 1968, 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 1976, 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 1977, 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 1980, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 1986, 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 1993, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-label {
  font-size: var(--font-sm);
  color: var(--text-muted);
}

/* line 1994, app/assets/stylesheets/stock_analysis.scss */
.sa-profile-value {
  font-size: var(--font-sm);
  font-weight: 700;
  color: var(--text-primary);
}

/* line 1997, app/assets/stylesheets/stock_analysis.scss */
.sa-target-visual {
  text-align: center;
}

/* line 1999, 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 2007, app/assets/stylesheets/stock_analysis.scss */
.sa-target-consensus {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 2008, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside {
  font-size: 1.1rem;
  font-weight: 700;
}

/* line 2010, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.positive {
  color: var(--color-success);
}

/* line 2011, app/assets/stylesheets/stock_analysis.scss */
.sa-target-upside.negative {
  color: var(--color-danger);
}

/* line 2014, app/assets/stylesheets/stock_analysis.scss */
.sa-target-range {
  max-width: 280px;
  margin: 0 auto;
}

/* line 2015, 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 2024, 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 2030, 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 2040, app/assets/stylesheets/stock_analysis.scss */
.sa-target-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* line 2043, 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 2050, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 2051, 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 2052, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-primary);
}

/* line 2054, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.positive {
  color: var(--color-success);
}

/* line 2055, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-value.negative {
  color: var(--color-danger);
}

/* line 2058, app/assets/stylesheets/stock_analysis.scss */
.sa-dcf-verdict {
  text-align: center;
  margin-top: 1rem;
}

/* line 2059, 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 2068, 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 2069, 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 2070, 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 2073, 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 2081, app/assets/stylesheets/stock_analysis.scss */
.sa-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

/* line 2086, app/assets/stylesheets/stock_analysis.scss */
.sa-table th, .sa-table td {
  padding: 0.7rem 0.9rem;
  text-align: right;
}

/* line 2089, 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 2099, 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 2110, 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 2114, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:last-child {
  border-bottom: none;
}

/* line 2115, app/assets/stylesheets/stock_analysis.scss */
.sa-table tbody tr:hover {
  background: rgba(var(--accent-primary-rgb), 0.03);
}

/* line 2119, app/assets/stylesheets/stock_analysis.scss */
.sa-td-label {
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
}

/* line 2120, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value {
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 2122, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.positive {
  color: var(--color-success);
}

/* line 2123, app/assets/stylesheets/stock_analysis.scss */
.sa-td-value.negative {
  color: var(--color-danger);
}

/* line 2125, app/assets/stylesheets/stock_analysis.scss */
.sa-td-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-style: italic;
  max-width: 140px;
}

/* line 2128, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-bars {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

/* line 2129, app/assets/stylesheets/stock_analysis.scss */
.sa-metrics-divider {
  height: 1px;
  background: var(--border-color);
  margin: 0.5rem 0;
}

/* line 2131, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 2132, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 2133, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 2134, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value {
  font-size: var(--font-sm);
  font-weight: 700;
}

/* line 2136, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.positive {
  color: var(--color-success);
}

/* line 2137, app/assets/stylesheets/stock_analysis.scss */
.sa-bar-value.negative {
  color: var(--color-danger);
}

/* line 2140, 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 2148, 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 2152, 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 2153, 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 2157, app/assets/stylesheets/stock_analysis.scss */
.sa-peers-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 2158, 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 2169, 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 2173, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper {
  position: relative;
  height: 260px;
  width: 100%;
}

/* line 2177, app/assets/stylesheets/stock_analysis.scss */
.sa-chart-wrapper canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 2181, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.25rem;
}

/* line 2187, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item {
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2192, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
}

/* line 2193, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 2194, 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 2195, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-interp {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}

/* line 2196, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-item-bar {
  margin-top: 6px;
}

/* line 2198, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-track {
  height: 6px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2205, 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 2209, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-cheap {
  background: linear-gradient(90deg, #22c55e, #4ade80);
}

/* line 2210, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-fair {
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
}

/* line 2211, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-fill.vbar-expensive {
  background: linear-gradient(90deg, #ef4444, #f87171);
}

/* line 2214, 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 2223, app/assets/stylesheets/stock_analysis.scss */
.sa-health-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 2rem;
}

/* line 2229, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric {
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 2230, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 2231, app/assets/stylesheets/stock_analysis.scss */
.sa-health-metric-label {
  font-size: var(--font-sm);
  color: var(--text-secondary);
  font-weight: 600;
}

/* line 2232, 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 2234, app/assets/stylesheets/stock_analysis.scss */
.sa-health-gauge-track {
  height: 8px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  overflow: hidden;
}

/* line 2241, 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 2245, 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 2246, 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 2247, 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 2251, 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 2263, 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 2275, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-scores {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

/* line 2276, 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 2283, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-pill strong {
  color: var(--text-primary);
  margin-left: 0.25rem;
  font-size: 0.8rem;
}

/* line 2289, 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 2298, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link i {
  margin-right: 0.3rem;
  font-size: 0.65rem;
}

/* line 2299, app/assets/stylesheets/stock_analysis.scss */
.sa-tldr-link:hover {
  text-decoration: none !important;
  background: rgba(var(--accent-primary-rgb), 0.1);
}

/* line 2305, 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 2311, 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 2324, 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 2325, app/assets/stylesheets/stock_analysis.scss */
.sa-full-analysis-btn i {
  font-size: 0.6rem;
}

/* line 2328, 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 2335, 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 2340, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-compact {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2341, app/assets/stylesheets/stock_analysis.scss */
  .sa-overview-kpis {
    width: 100%;
  }
  /* line 2342, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2343, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range-mini {
    max-width: 100%;
  }
  /* line 2344, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-compact {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2345, app/assets/stylesheets/stock_analysis.scss */
  .stock-analysis-page {
    padding: 0 0.5rem;
  }
  /* line 2347, 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 2361, app/assets/stylesheets/stock_analysis.scss */
  .sa-layout-with-toc {
    display: block;
  }
  /* line 2362, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.25rem;
    width: 100%;
  }
  /* line 2363, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-hero {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  /* line 2364, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenarios-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2365, app/assets/stylesheets/stock_analysis.scss */
  .sa-scenario-primary {
    transform: none;
  }
  /* line 2366, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-duo {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  /* line 2367, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-card {
    padding: 1rem;
  }
  /* line 2368, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-hero-body {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
  }
  /* line 2369, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-row {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2370, app/assets/stylesheets/stock_analysis.scss */
  .sa-mini-score-card {
    min-width: auto;
    padding: 0.75rem 1rem;
  }
  /* line 2371, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: 1fr;
  }
  /* line 2372, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: 1fr;
  }
  /* line 2373, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  /* line 2374, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-card {
    padding: 0.75rem;
  }
  /* line 2375, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2376, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  /* line 2377, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 64px;
    height: 64px;
  }
  /* line 2378, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-number {
    font-size: 1rem;
  }
  /* line 2379, app/assets/stylesheets/stock_analysis.scss */
  .sa-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2380, app/assets/stylesheets/stock_analysis.scss */
  .sa-show-name {
    max-width: 100px;
  }
  /* line 2381, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 180px;
  }
  /* line 2382, app/assets/stylesheets/stock_analysis.scss */
  .sa-valuation-grid {
    grid-template-columns: 1fr;
  }
  /* line 2383, app/assets/stylesheets/stock_analysis.scss */
  .sa-health-grid {
    grid-template-columns: 1fr;
  }
  /* line 2384, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    gap: 0.5rem;
  }
  /* line 2385, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi {
    min-width: auto;
    padding: 0.6rem 0.75rem;
  }
  /* line 2386, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-value {
    font-size: 1.1rem;
  }
  /* line 2387, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-ai {
    margin-left: 0;
    margin-right: 0;
    padding: 1rem;
  }
  /* line 2388, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-title {
    font-size: 1rem;
  }
  /* line 2389, app/assets/stylesheets/stock_analysis.scss */
  .sa-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
  }
  /* line 2390, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-hero {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 2391, app/assets/stylesheets/stock_analysis.scss */
  .sa-company-badges {
    gap: 0.35rem;
  }
  /* line 2392, app/assets/stylesheets/stock_analysis.scss */
  .sa-badge {
    font-size: 0.65rem;
    padding: 0.25rem 0.5rem;
  }
  /* line 2393, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-grid {
    flex-direction: column;
    gap: 0.75rem;
  }
  /* line 2394, app/assets/stylesheets/stock_analysis.scss */
  .sa-analyst-range {
    min-width: auto;
    width: 100%;
  }
  /* line 2395, app/assets/stylesheets/stock_analysis.scss */
  .sa-yield-row {
    flex-direction: column;
    gap: 0.75rem;
  }
}

@media (max-width: 480px) {
  /* line 2399, app/assets/stylesheets/stock_analysis.scss */
  .sa-scores-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2400, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-ring {
    width: 56px;
    height: 56px;
  }
  /* line 2401, app/assets/stylesheets/stock_analysis.scss */
  .sa-table {
    font-size: 0.75rem;
  }
  /* line 2401, app/assets/stylesheets/stock_analysis.scss */
  .sa-table th, .sa-table td {
    padding: 0.5rem;
  }
  /* line 2402, app/assets/stylesheets/stock_analysis.scss */
  .sa-chart-wrapper {
    height: 160px;
  }
  /* line 2403, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: 1fr;
  }
  /* line 2404, app/assets/stylesheets/stock_analysis.scss */
  .sa-intrinsic-card-price {
    font-size: 1.4rem;
  }
  /* line 2405, app/assets/stylesheets/stock_analysis.scss */
  .sa-score-big {
    font-size: 2rem;
  }
  /* line 2406, app/assets/stylesheets/stock_analysis.scss */
  .sa-price-kpi-row {
    flex-wrap: wrap;
  }
  /* line 2407, 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 2411, app/assets/stylesheets/stock_analysis.scss */
  .sa-content-inner {
    padding: 0 0.75rem;
  }
  /* line 2412, app/assets/stylesheets/stock_analysis.scss */
  .sa-section-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  /* line 2413, app/assets/stylesheets/stock_analysis.scss */
  .sa-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 2414, app/assets/stylesheets/stock_analysis.scss */
  .sa-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 2420, app/assets/stylesheets/stock_analysis.scss */
.sa-valuation-bar-undefined {
  font-size: 0.68rem;
  font-style: italic;
  color: var(--text-muted, #64748b);
}

/* line 2427, 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 2437, app/assets/stylesheets/stock_analysis.scss */
.sa-currency-banner i {
  color: #cc903c;
  font-size: 0.95rem;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

/* line 2444, app/assets/stylesheets/stock_analysis.scss */
.sa-currency-banner strong {
  display: block;
  color: #cc903c;
  font-size: 0.85rem;
  margin-bottom: 0.2rem;
}

/* line 2451, 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 2460, app/assets/stylesheets/stock_analysis.scss */
.sa-facets {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
}

/* line 2469, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-row {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  flex-wrap: wrap;
}

/* line 2476, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-summary {
  display: none;
  list-style: none;
  cursor: pointer;
}

/* line 2480, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-summary::-webkit-details-marker {
  display: none;
}

/* line 2483, 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 2492, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  flex: 1;
  min-width: 0;
}

/* line 2500, 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 2515, app/assets/stylesheets/stock_analysis.scss */
.sa-facet-chip:hover {
  border-color: rgba(204, 144, 60, 0.4);
  color: #f7f6f4;
}

/* line 2520, 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 2527, 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 2536, 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 2543, 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 2548, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-row:last-child {
    border-bottom: none;
  }
  /* line 2551, 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 2559, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-title {
    flex: 1;
  }
  /* line 2561, 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 2571, 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 2577, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-row[open] .sa-facet-caret {
    transform: rotate(180deg);
  }
  /* line 2579, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-chips {
    flex-wrap: wrap;
    overflow-x: visible;
    padding: 0.25rem 0 0.5rem;
  }
  /* line 2585, app/assets/stylesheets/stock_analysis.scss */
  .sa-facet-chip {
    padding: 0.35rem 0.7rem;
  }
}

/* line 2591, 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 2598, app/assets/stylesheets/stock_analysis.scss */
.sa-toolbar .sa-search-section {
  margin: 0;
}

/* line 2602, app/assets/stylesheets/stock_analysis.scss */
.sa-toolbar .sa-search-wrapper {
  margin: 0;
  max-width: 560px;
}

/* line 2609, 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 2616, 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 2623, app/assets/stylesheets/stock_analysis.scss */
  .sa-toolbar {
    padding: 0 1rem;
    margin: 1rem 0 1.25rem;
  }
  /* line 2627, app/assets/stylesheets/stock_analysis.scss */
  .sa-toolbar .sa-search-wrapper {
    max-width: 100%;
  }
}

/* line 2631, 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 2639, 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;
}

/* 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
   (Google Fonts link in layouts/inertia.html.erb), 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);
}

/* ── Flèche « cette carte s'ouvre » ────────────────────────────────────
   Au doigt, le seul indice était le rétrécissement ci-dessus — qui n'arrive
   qu'une fois la carte touchée. La flèche le dit avant, dans l'accent de la
   carte. margin-left: auto la garde à droite quand la carte n'a pas de
   pastille (Opportunités à zéro). */
.mobile-insight-card                  { --insight-accent: var(--mdr-brand-gold);  --insight-accent-bg: rgba(204, 144, 60, 0.14); }
.mobile-insight-card--sentiment       { --insight-accent: var(--mdr-signal-buy);  --insight-accent-bg: rgba(34, 197, 94, 0.14); }
.mobile-insight-card--geo             { --insight-accent: var(--mdr-signal-hold); --insight-accent-bg: rgba(204, 144, 60, 0.14); }
.mobile-insight-card--opportunities   { --insight-accent: #e0bc8a;                --insight-accent-bg: rgba(224, 188, 138, 0.14); }

.mobile-insight-arrow {
  flex: 0 0 auto;
  margin-left: auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--insight-accent-bg);
  color: var(--insight-accent);
  font-size: 11px;
}

/* → tourné en ↗ : Font Awesome libre n'a pas de flèche diagonale simple. */
.mobile-insight-arrow i {
  transform: rotate(-45deg);
  transition: transform 0.2s ease;
}

/* Appel au chargement, sur la carte Opportunités seulement — la première :
   de petits allers-retours le long de la flèche, avec un halo, puis plus
   rien. Six au doigt (~5 s) ; trois à la souris, plus bas. */
.mobile-insight-card--opportunities .mobile-insight-arrow {
  animation: insight-arrow-halo 0.9s ease-out 0.8s 6;
}

.mobile-insight-card--opportunities .mobile-insight-arrow i {
  animation: insight-arrow-nudge 0.9s ease-in-out 0.8s 6;
}

@keyframes insight-arrow-nudge {
  0%, 100% { transform: rotate(-45deg) translateX(0); }
  50%      { transform: rotate(-45deg) translateX(3px); }
}

@keyframes insight-arrow-halo {
  0%   { box-shadow: 0 0 0 0 rgba(224, 188, 138, 0.45); }
  100% { box-shadow: 0 0 0 8px rgba(224, 188, 138, 0); }
}

/* Avec une souris, la flèche n'apparaît qu'au survol. Sur la carte
   Opportunités, elle se montre le temps de l'appel — trois allers-retours —
   puis s'efface.
   (hover: hover) et non une largeur : une tablette n'a pas de survol, elle
   garde les flèches toujours visibles du mobile — sinon, une fois l'appel
   fini, rien ne pourrait les faire revenir. */
@media (hover: hover) and (pointer: fine) {
  .mobile-insight-arrow {
    opacity: 0;
    transition: opacity 0.2s ease;
  }

  .mobile-insight-card:hover .mobile-insight-arrow {
    opacity: 1;
  }

  /* Pas de animation-fill-mode « forwards » : l'appel fini, l'opacité revient
     à la règle ci-dessus (0) au lieu d'être figée par l'animation — figée,
     le survol ne pourrait plus la faire réapparaître. */
  .mobile-insight-card--opportunities .mobile-insight-arrow {
    animation: insight-arrow-halo 0.9s ease-out 0.8s 3,
               insight-arrow-reveal 4s linear;
  }

  .mobile-insight-card--opportunities .mobile-insight-arrow i {
    animation: insight-arrow-nudge 0.9s ease-in-out 0.8s 3;
  }
}

/* Visible du chargement jusqu'à la fin du troisième aller-retour
   (0,8 s + 3 × 0,9 s = 3,5 s, soit 87,5 % de 4 s), puis fondu. */
@keyframes insight-arrow-reveal {
  0%, 87.5% { opacity: 1; }
  100%      { opacity: 0; }
}

/* Une classe de plus que les règles d'animation, pour l'emporter quel que
   soit leur bloc. Sans animation, à la souris, la flèche reste cachée
   jusqu'au survol. */
@media (prefers-reduced-motion: reduce) {
  .mobile-insights-scroll .mobile-insight-card--opportunities .mobile-insight-arrow,
  .mobile-insights-scroll .mobile-insight-card--opportunities .mobile-insight-arrow i {
    animation: none;
  }
}

/* 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;
  gap: 8px;
  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;
  }

  /* 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 MobileStockCards.tsx. 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 rendered at <body> level (AfterMain, outside
   .dashboard-container), so nothing here is scoped to .dashboard-container.
   Trade rows are styled at all widths: PnlHistoryModal.tsx emits semantic
   .pnl-trade-* markup, not 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 components/dashboard/stocks/MobileStockCards.tsx, 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 matchesFilters (tableSortStore.ts) 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
        components/dashboard/stocks/TransactionDropdown.tsx ---- */
.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 components/dashboard/ActionGraph.tsx 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;
  }

  /* Mêmes bords et même respiration que le bloc « Bientôt disponible » qu'il
     remplace quand le portefeuille est activé (.today-actions-gate : pleine
     largeur, 1rem dessous). L'ancien `margin: 4px 8px 2px` le décalait de 8 px
     à gauche seulement, et ses 2 px du bas le collaient au bandeau « Analyse
     IA en cours », qui le suit pendant une analyse. */
  .mdr-plan-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 4px 0 16px;
    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 ActionGraph.tsx
   renders it (inside .action-graph-section), and it is simply pinned to the
   screen whenever the plan modal is open.

   useActionGraph puts .fullscreen-modal-open on <body> while the plan is
   fullscreen and removes it on close — 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
       useChatbotKeyboard (hooks/useChatbotKeyboard.ts); the chatbot widget is
       mounted by the shell on every signed-in page and tracks from mount,
       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
   toggleDay in components/dashboard/EventsCalendar.tsx), 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-arrow {
    width: 20px;
    height: 20px;
    font-size: 9px;
  }

  /* Au survol, la flèche avance d'un cran dans sa direction, en plus du
     décalage de la carte : le même signal qu'au doigt, animé. */
  .mobile-insight-card:hover .mobile-insight-arrow i {
    transform: rotate(-45deg) translateX(2px);
  }

  .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;
  }
}

/* Ligne du nom : le nom et, à sa droite, le badge « Offert ».
   Dans la ligne du ticker, à côté du signal, les deux badges débordaient de la
   carte sur un téléphone ; sur une ligne à lui seul, le badge séparait le
   ticker de son nom. Le nom est déjà tronqué par ellipse (.mdr-stock-name) :
   c'est donc lui qui cède la largeur, et le badge ne se comprime jamais. */
.mdr-stock-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.mdr-stock-name-row .mdr-stock-name {
  flex: 0 1 auto;
  min-width: 0;
}

.mdr-stock-name-row .free-sample-badge--card {
  flex: 0 0 auto;
}
/* line 11, 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 31, app/assets/stylesheets/billing_confirmation.scss */
.nvc::before {
  content: "";
  position: fixed;
  inset: 0;
  background: var(--bg-primary);
  z-index: -1;
}

/* line 39, app/assets/stylesheets/billing_confirmation.scss */
.nvc-col {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
}

/* line 46, app/assets/stylesheets/billing_confirmation.scss */
.nvc-mark {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 24px;
}

/* line 57, 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 74, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge i {
  font-size: 0.7rem;
}

/* line 81, 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 92, 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 103, app/assets/stylesheets/billing_confirmation.scss */
.nvc-filet {
  margin: 32px auto;
}

/* line 110, app/assets/stylesheets/billing_confirmation.scss */
.nvc-plan {
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* line 120, 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 130, 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 142, app/assets/stylesheets/billing_confirmation.scss */
.nvc-rows {
  margin: 0;
}

/* line 144, 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 152, app/assets/stylesheets/billing_confirmation.scss */
.nvc-row:first-child {
  border-top: 0;
}

/* line 154, 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 166, 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 181, app/assets/stylesheets/billing_confirmation.scss */
.nvc-ref {
  letter-spacing: 0.06em;
}

/* line 184, 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 194, app/assets/stylesheets/billing_confirmation.scss */
.nvc-pill.is-pending {
  background: rgba(var(--accent-primary-rgb), 0.12);
  color: var(--accent-primary);
}

/* line 201, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge.is-pending i {
  font-size: 0.72rem;
}

/* line 205, app/assets/stylesheets/billing_confirmation.scss */
.nvc-totals {
  padding: 12px 0 4px;
  border-top: 1px solid var(--border-color);
}

/* line 210, 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 220, 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 231, 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 245, 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 251, app/assets/stylesheets/billing_confirmation.scss */
.nvc-doc:focus-visible {
  outline: 2px solid rgba(var(--accent-primary-rgb), 0.7);
  outline-offset: -2px;
}

/* line 257, app/assets/stylesheets/billing_confirmation.scss */
.nvc-doc-ext {
  margin-left: auto;
  font-size: 0.6875rem;
  opacity: 0.7;
}

/* line 266, app/assets/stylesheets/billing_confirmation.scss */
.nvc-actions {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* line 274, 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 290, app/assets/stylesheets/billing_confirmation.scss */
.nvc-btn i {
  font-size: 0.8rem;
}

/* line 293, 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 298, 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 306, 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 312, 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 327, app/assets/stylesheets/billing_confirmation.scss */
.nvc-link-quiet:hover, .nvc-link-quiet:focus-visible {
  color: var(--accent-primary);
  text-decoration-color: currentColor;
}

/* line 333, 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 340, 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 351, app/assets/stylesheets/billing_confirmation.scss */
.nvc-note i {
  margin-right: 6px;
}

/* line 353, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support {
  margin-top: 36px;
}

/* line 356, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support a {
  color: var(--text-secondary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* line 361, 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 373, 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 385, app/assets/stylesheets/billing_confirmation.scss */
.nvc-mark {
  animation-delay: 0ms;
}

/* line 386, app/assets/stylesheets/billing_confirmation.scss */
.nvc-badge {
  animation-delay: 50ms;
}

/* line 387, app/assets/stylesheets/billing_confirmation.scss */
.nvc-title {
  animation-delay: 100ms;
}

/* line 388, app/assets/stylesheets/billing_confirmation.scss */
.nvc-lede {
  animation-delay: 140ms;
}

/* line 389, app/assets/stylesheets/billing_confirmation.scss */
.nvc-filet {
  animation-delay: 180ms;
}

/* line 390, app/assets/stylesheets/billing_confirmation.scss */
.nvc-card {
  animation-delay: 220ms;
}

/* line 391, app/assets/stylesheets/billing_confirmation.scss */
.nvc-actions {
  animation-delay: 290ms;
}

/* line 392, app/assets/stylesheets/billing_confirmation.scss */
.nvc-note {
  animation-delay: 300ms;
}

/* line 393, app/assets/stylesheets/billing_confirmation.scss */
.nvc-support {
  animation-delay: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  /* line 399, 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 409, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-btn-primary:hover,
.nvc-btn-primary:focus-visible {
    transform: none;
  }
}

@media (min-width: 768px) {
  /* line 415, app/assets/stylesheets/billing_confirmation.scss */
  .nvc {
    padding: 88px 24px 80px;
  }
  /* line 417, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-col {
    max-width: 560px;
  }
  /* line 419, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-mark {
    width: 56px;
    height: 56px;
    margin-bottom: 28px;
  }
  /* line 425, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-filet {
    margin: 40px auto;
  }
  /* line 427, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-card {
    margin-top: 40px;
    padding: 0 28px;
  }
  /* line 432, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-row {
    padding: 18px 0;
  }
  /* line 434, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-doc {
    margin: 4px -28px 0;
    padding: 0 28px;
  }
  /* line 439, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-actions {
    margin-top: 40px;
    flex-direction: row;
    justify-content: center;
    gap: 24px;
  }
  /* line 446, app/assets/stylesheets/billing_confirmation.scss */
  .nvc-btn {
    width: auto;
    min-width: 260px;
  }
}

@media print {
  /* line 451, app/assets/stylesheets/billing_confirmation.scss */
  .nvc {
    padding: 0;
  }
  /* line 452, app/assets/stylesheets/billing_confirmation.scss */
  .nvc::before {
    display: none;
  }
  /* line 453, 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 61, 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,
.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 70, 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,
.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 78, 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,
.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 86, 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,
.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 95, 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 113, app/assets/stylesheets/charte.scss */
body,
.landing-v3,
.page-hero-v2 {
  color: var(--text-primary);
}

/* line 120, app/assets/stylesheets/charte.scss */
.nv-or {
  color: var(--accent-primary);
}

/* line 121, app/assets/stylesheets/charte.scss */
.nv-ivoire {
  color: var(--text-primary);
}

/* line 122, app/assets/stylesheets/charte.scss */
.nv-fond-nuit {
  background-color: var(--bg-primary);
}

/* line 123, app/assets/stylesheets/charte.scss */
.nv-fond-surface {
  background-color: var(--bg-secondary);
}

/* line 126, app/assets/stylesheets/charte.scss */
.nv-filet {
  display: block;
  width: 88px;
  height: 3px;
  border: 0;
  border-radius: 2px;
  background: var(--accent-primary);
}

/* line 139, 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 157, 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 171, 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 10, app/assets/stylesheets/charte_ui.scss */
:root {
  --nv-text: #f7f6f4;
  --nv-muted: #94a3b8;
  --nv-faint: #64748b;
  --nv-gold: #cc903c;
  --nv-gold-light: #e0bc8a;
  --nv-gold-soft: rgba(204, 144, 60, 0.12);
  --nv-up: #22c55e;
  --nv-down: #f87171;
  --nv-border: rgba(148, 163, 184, 0.14);
  --nv-border-gold: rgba(204, 144, 60, 0.26);
  --nv-surface: linear-gradient(160deg, #111825 0%, #0a1020 100%);
  --nv-surface-flat: #0d1422;
  --nv-inset: rgba(255, 255, 255, 0.03);
  --nv-inset-hover: rgba(255, 255, 255, 0.055);
  --nv-input: rgba(2, 8, 23, 0.55);
  --nv-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 40px rgba(0, 6, 21, 0.35);
  --nv-radius: 16px;
  --nv-radius-sm: 10px;
}

/* line 33, app/assets/stylesheets/charte_ui.scss */
body .nv-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  flex-wrap: wrap;
  margin: 0 0 1.1rem;
}

/* line 42, app/assets/stylesheets/charte_ui.scss */
body .nv-page-head__text {
  min-width: 0;
}

/* line 44, app/assets/stylesheets/charte_ui.scss */
body .nv-page-head__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 51, app/assets/stylesheets/charte_ui.scss */
body .nv-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nv-gold);
}

/* line 62, app/assets/stylesheets/charte_ui.scss */
body .nv-title {
  margin: 0.3rem 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: var(--nv-text);
}

/* line 71, app/assets/stylesheets/charte_ui.scss */
body .nv-sub {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--nv-muted);
}

/* line 79, app/assets/stylesheets/charte_ui.scss */
body .nv-card {
  position: relative;
  padding: 1.25rem 1.35rem;
  border-radius: var(--nv-radius);
  border: 1px solid var(--nv-border);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-text);
}

/* line 90, app/assets/stylesheets/charte_ui.scss */
body .nv-card--gold {
  border-color: var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
}

/* line 97, app/assets/stylesheets/charte_ui.scss */
body .nv-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 104, app/assets/stylesheets/charte_ui.scss */
body .nv-card__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 0.95rem;
}

/* line 116, app/assets/stylesheets/charte_ui.scss */
body .nv-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--nv-text);
}

/* line 124, app/assets/stylesheets/charte_ui.scss */
body .nv-card__sub {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--nv-muted);
}

/* line 132, app/assets/stylesheets/charte_ui.scss */
body .nv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 40px;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-text);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

/* line 151, app/assets/stylesheets/charte_ui.scss */
body .nv-btn:hover {
  background: var(--nv-inset-hover);
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 152, app/assets/stylesheets/charte_ui.scss */
body .nv-btn:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 153, app/assets/stylesheets/charte_ui.scss */
body .nv-btn:disabled, body .nv-btn.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

/* line 156, app/assets/stylesheets/charte_ui.scss */
body .nv-btn--primary {
  border-color: transparent;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 162, app/assets/stylesheets/charte_ui.scss */
body .nv-btn--primary:hover {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
  color: #111825;
  transform: translateY(-1px);
}

/* line 165, app/assets/stylesheets/charte_ui.scss */
body .nv-btn--danger {
  color: var(--nv-down);
}

/* line 168, app/assets/stylesheets/charte_ui.scss */
body .nv-btn--danger:hover {
  border-color: rgba(248, 113, 113, 0.4);
  color: var(--nv-down);
  background: rgba(248, 113, 113, 0.08);
}

/* line 171, app/assets/stylesheets/charte_ui.scss */
body .nv-btn--sm {
  min-height: 34px;
  padding: 0.35rem 0.8rem;
  font-size: 0.8rem;
}

/* line 173, app/assets/stylesheets/charte_ui.scss */
body .nv-icon-btn {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* line 186, app/assets/stylesheets/charte_ui.scss */
body .nv-icon-btn:hover {
  color: var(--nv-text);
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
}

/* line 187, app/assets/stylesheets/charte_ui.scss */
body .nv-icon-btn.is-danger:hover {
  color: var(--nv-down);
  border-color: rgba(248, 113, 113, 0.4);
}

/* line 188, app/assets/stylesheets/charte_ui.scss */
body .nv-icon-btn:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 192, app/assets/stylesheets/charte_ui.scss */
body .nv-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
}

/* line 206, app/assets/stylesheets/charte_ui.scss */
body .nv-pill--gold {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 207, app/assets/stylesheets/charte_ui.scss */
body .nv-pill--up {
  border-color: rgba(34, 197, 94, 0.3);
  background: rgba(34, 197, 94, 0.1);
  color: var(--nv-up);
}

/* line 208, app/assets/stylesheets/charte_ui.scss */
body .nv-pill--down {
  border-color: rgba(248, 113, 113, 0.3);
  background: rgba(248, 113, 113, 0.1);
  color: var(--nv-down);
}

/* line 211, app/assets/stylesheets/charte_ui.scss */
body .nv-card .form-control,
body .nv-card .form-select,
body .nv-field {
  min-height: 42px;
  border-radius: var(--nv-radius-sm);
  border: 1px solid var(--nv-border);
  background-color: var(--nv-input);
  color: var(--nv-text);
  font-size: 0.92rem;
  box-shadow: none;
}

/* line 222, app/assets/stylesheets/charte_ui.scss */
body .nv-card .form-control::placeholder,
body .nv-card .form-select::placeholder,
body .nv-field::placeholder {
  color: var(--nv-faint);
}

/* line 223, app/assets/stylesheets/charte_ui.scss */
body .nv-card .form-control:focus,
body .nv-card .form-select:focus,
body .nv-field:focus {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
  outline: none;
}

/* line 226, app/assets/stylesheets/charte_ui.scss */
body .nv-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nv-muted);
}

@media (max-width: 767.98px) {
  /* line 235, app/assets/stylesheets/charte_ui.scss */
  body .nv-card {
    padding: 1rem;
    border-radius: 14px;
  }
  /* line 236, app/assets/stylesheets/charte_ui.scss */
  body .nv-title {
    font-size: 1.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 240, app/assets/stylesheets/charte_ui.scss */
  body .nv-btn, body .nv-icon-btn {
    transition: none;
  }
  /* line 241, app/assets/stylesheets/charte_ui.scss */
  body .nv-btn--primary:hover {
    transform: none;
  }
}

/* line 21, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar {
  overflow: visible;
}

/* line 25, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item {
  border: 1px solid var(--nv-border);
  border-radius: 14px;
  background: var(--nv-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 24px rgba(0, 6, 21, 0.28);
}

/* line 33, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item.global-pnl {
  border-color: var(--nv-border-gold);
  background: radial-gradient(90% 140% at 0% 0%, rgba(204, 144, 60, 0.14) 0%, rgba(204, 144, 60, 0) 55%), var(--nv-surface);
}

/* line 40, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 10px;
}

/* line 47, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-content .summary-value {
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* line 52, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-content .summary-value:not(.positive):not(.negative):not(.neutral) {
  color: var(--nv-text);
}

/* line 56, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-content .summary-value .total-breakdown {
  color: var(--nv-faint);
}

/* line 62, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-content .summary-label {
  color: var(--nv-muted);
}

/* line 66, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .pnl-info-tooltip {
  color: var(--nv-faint);
}

/* line 69, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .pnl-info-tooltip:hover {
  color: var(--nv-gold-light);
}

/* line 72, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-action-btn {
  border-radius: 8px;
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 78, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-summary-bar .summary-item .summary-action-btn:hover {
  border-color: var(--nv-gold);
  background: rgba(204, 144, 60, 0.22);
  color: var(--nv-gold-light);
}

/* line 83, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mobile-insights-header .mobile-insights-title,
body .dashboard-container.nv-dashboard .portfolio-header-row .section-title h2,
body .dashboard-container.nv-dashboard .mdr-stock-section-header .mdr-stock-section-title {
  color: var(--nv-text);
  letter-spacing: -0.015em;
}

/* line 93, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mobile-insights-scroll .mobile-insight-card {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* line 98, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters {
  gap: 0.6rem;
}

/* line 101, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-search i {
  left: 12px;
  color: var(--nv-faint);
}

/* line 108, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-search input {
  height: 34px;
  min-height: 34px;
  padding: 0 0.9rem 0 2rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-input);
  color: var(--nv-text);
  font-size: 0.8rem !important;
}

/* line 118, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-search input::placeholder {
  color: var(--nv-faint);
}

/* line 119, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-search input:focus {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 122, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-chips {
  gap: 0.35rem;
}

/* line 124, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  min-width: 0;
  padding: 0 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 0.72rem;
  line-height: 1;
}

/* line 137, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-chip:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 140, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-chip.active:not(.chip-sell) {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 149, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .refresh-btn,
body .dashboard-container.nv-dashboard .section-header .btn.manage-portfolio-btn {
  border-radius: 999px;
}

/* line 154, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .refresh-btn:not(:disabled):not(.disabled) {
  border-color: transparent;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 160, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .refresh-btn:not(:disabled):not(.disabled):hover {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
  color: #111825;
}

/* line 163, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .btn.manage-portfolio-btn {
  border: 1px solid var(--nv-border-gold) !important;
  background: var(--nv-inset) !important;
  color: var(--nv-text) !important;
}

/* line 168, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .btn.manage-portfolio-btn i {
  color: var(--nv-gold);
}

/* line 170, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header .btn.manage-portfolio-btn:hover {
  border-color: var(--nv-gold) !important;
  background: var(--nv-gold-soft) !important;
  color: var(--nv-text) !important;
  box-shadow: none;
}

/* line 183, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .section-header.portfolio-header-row {
  flex-wrap: nowrap;
}

/* line 185, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-header-row .section-actions {
  flex: 0 1 auto;
  min-width: 0;
}

/* line 190, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-header-row .mobile-section-btns {
  flex-wrap: nowrap;
  min-width: 0;
}

/* line 194, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-header-row .mobile-section-btns > * {
  flex-shrink: 0;
}

/* line 197, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-header-row .refresh-status-inline {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
}

/* line 202, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-header-row .refresh-status-inline .refresh-status-component,
body .dashboard-container.nv-dashboard .portfolio-header-row .refresh-status-inline .refresh-status-text {
  min-width: 0;
}

/* line 205, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .portfolio-header-row .refresh-status-inline .last-refreshed-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--nv-faint);
}

@media (min-width: 1401px) {
  /* line 217, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .section-header.portfolio-header-row {
    gap: 1.25rem;
  }
  /* line 219, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .portfolio-header-row .mobile-section-btns .btn {
    padding-left: 1.05rem;
    padding-right: 1.05rem;
  }
}

/* line 227, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .table-responsive[data-onboarding="stocks-table"] {
  border-radius: var(--nv-radius) !important;
  box-shadow: var(--nv-shadow);
}

/* line 232, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-table {
  border-color: var(--nv-border);
  background: var(--nv-surface);
  box-shadow: none;
}

/* line 237, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-table thead {
  background: var(--nv-inset);
}

/* line 243, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-table thead th {
  background-color: transparent;
  font-weight: 700;
}

/* line 248, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-table thead th::after {
  background: rgba(204, 144, 60, 0.22);
}

/* line 255, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .visit-tip {
  border-radius: var(--nv-radius);
}

/* line 260, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-section > .empty-state {
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 266, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-section > .empty-state .empty-icon {
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
}

/* line 272, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-section > .empty-state h3 {
  color: var(--nv-text);
}

/* line 273, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .stocks-section > .empty-state p {
  color: var(--nv-muted);
}

/* line 278, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .dashboard-add-stock-form .fa-plus-circle.text-primary {
  color: var(--nv-gold) !important;
}

/* line 283, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mdr-stock-section-header {
  align-items: center;
}

/* line 287, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mdr-stock-section-header .mdr-stock-section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  padding: 0 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
  font-size: 0.72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 304, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mdr-filter-bar .filter-chip.active {
  border-color: transparent;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  box-shadow: 0 4px 14px rgba(204, 144, 60, 0.22);
}

/* line 310, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mdr-stock-list .mdr-stock-card {
  border-radius: var(--nv-radius);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 24px rgba(0, 6, 21, 0.28);
}

/* line 315, app/assets/stylesheets/charte_pages/_dashboard.scss */
body .dashboard-container.nv-dashboard .mobile-portfolio-card {
  border-color: var(--nv-border-gold);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 12px 28px rgba(0, 6, 21, 0.3);
}

@media (max-width: 767.98px) {
  /* line 324, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .mobile-insights-header .mobile-insights-title,
body .dashboard-container.nv-dashboard .mdr-stock-section-header .mdr-stock-section-title {
    font-size: 1.1rem;
    font-weight: 600;
  }
}

@media (min-width: 768px) {
  /* line 333, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .mobile-insights-scroll .mobile-insight-card {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 12px 28px rgba(0, 6, 21, 0.3);
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  /* line 342, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .table-filter-bar .filter-search input {
    height: 38px;
    min-height: 38px;
    border-radius: 999px;
    border: 1px solid var(--nv-border);
    background: var(--nv-input);
    color: var(--nv-text);
  }
  /* line 350, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .table-filter-bar .filter-search input:focus {
    border-color: var(--nv-gold);
    box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
  }
  /* line 353, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .table-filter-bar .filter-chip {
    min-height: 34px;
    min-width: 0;
    padding: 0 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--nv-border);
    background: var(--nv-inset);
    color: var(--nv-muted);
    font-size: 0.74rem;
    line-height: 1;
  }
  /* line 364, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .table-filter-bar .filter-chip.active:not(.chip-sell) {
    border-color: var(--nv-border-gold);
    background: var(--nv-gold-soft);
    color: var(--nv-gold-light);
  }
}

@media (min-width: 992px) and (max-width: 1400px) {
  /* line 375, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .section-header .portfolio-inline-filters .filter-chip {
    padding: 0 0.6rem;
    font-size: 0.66rem;
  }
}

@media (min-width: 1200px) {
  /* line 385, app/assets/stylesheets/charte_pages/_dashboard.scss */
  body .dashboard-container.nv-dashboard .stocks-table thead th {
    letter-spacing: 0.08em;
  }
}

/* line 31, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel {
  --tone: #cc903c;
  --tone-rgb: 204, 144, 60;
  --sd-raised: rgba(255, 255, 255, 0.032);
  --sd-raised-hover: rgba(255, 255, 255, 0.055);
  --sd-line: rgba(255, 255, 255, 0.07);
  --sd-text-2: rgba(226, 232, 240, 0.82);
  --sd-text-3: rgba(203, 213, 225, 0.58);
  position: relative;
  margin: 6px 0 14px;
  padding: 18px 20px 20px;
  border: 1px solid var(--nv-border);
  border-radius: 18px;
  background: radial-gradient(70% 90% at 0% 0%, rgba(204, 144, 60, 0.07) 0%, rgba(204, 144, 60, 0) 55%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-text);
  font-size: 0.86rem;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
  letter-spacing: normal;
  animation: sd-rise 0.35s ease both;
}

/* line 56, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel *, body .sd-panel *::before, body .sd-panel *::after {
  box-sizing: border-box;
}

/* line 58, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--up {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 59, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--down {
  --tone: #f87171;
  --tone-rgb: 248, 113, 113;
}

/* line 60, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--gold {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
}

/* line 61, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--warn {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 62, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--muted {
  --tone: #94a3b8;
  --tone-rgb: 148, 163, 184;
}

/* line 63, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--blue {
  --tone: #60a5fa;
  --tone-rgb: 96, 165, 250;
}

/* line 64, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tone--violet {
  --tone: #c084fc;
  --tone-rgb: 192, 132, 252;
}

/* line 66, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .is-up {
  color: #22c55e;
}

/* line 67, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .is-down {
  color: #f87171;
}

/* line 69, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel p {
  margin: 0;
}

/* line 74, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel button {
  min-width: 0;
  min-height: 0;
}

/* line 80, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-card {
  position: relative;
  min-width: 0;
  padding: 14px 16px 16px;
  border: 1px solid var(--sd-line);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.014));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

/* line 90, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-card-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-bottom: 12px;
}

/* line 98, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-card-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  border: 1px solid rgba(var(--tone-rgb), 0.3);
  background: rgba(var(--tone-rgb), 0.12);
  color: var(--tone);
  font-size: 0.8rem;
}

/* line 111, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-card-title {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--nv-text);
}

/* line 118, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-card-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
  font-size: 0.74rem;
  color: var(--sd-text-3);
}

/* line 128, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-eyebrow {
  display: block;
  margin-bottom: 8px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nv-gold);
}

/* line 138, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-empty {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--sd-text-3);
  font-size: 0.82rem;
}

/* line 145, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-empty i {
  color: var(--nv-gold);
}

/* line 148, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-prose {
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--sd-text-2);
}

/* line 154, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tip {
  margin-left: 4px;
  color: var(--nv-faint);
  font-size: 0.72rem;
  cursor: help;
}

/* line 160, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tip:hover, body .sd-panel .sd-tip:focus {
  color: var(--nv-gold-light);
}

/* line 162, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tip .dash-tip-content {
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
}

/* line 171, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-seg {
  display: inline-flex;
  flex-shrink: 0;
  padding: 3px;
  gap: 2px;
  border: 1px solid var(--sd-line);
  border-radius: 10px;
  background: rgba(2, 8, 23, 0.45);
}

/* line 180, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-seg button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--sd-text-3);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 197, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-seg button i {
  font-size: 0.72rem;
}

/* line 199, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-seg button:hover {
  color: var(--nv-text);
  background: var(--sd-raised-hover);
}

/* line 200, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-seg button:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 1px;
}

/* line 202, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-seg button.is-active {
  background: linear-gradient(135deg, rgba(224, 188, 138, 0.22), rgba(204, 144, 60, 0.14));
  color: var(--nv-gold-light);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.4);
}

/* line 210, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 216, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip {
  --tone: #94a3b8;
  --tone-rgb: 148, 163, 184;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--sd-line);
  border-radius: 999px;
  background: var(--sd-raised);
  color: var(--sd-text-3);
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

/* line 233, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(var(--tone-rgb), 0.35);
}

/* line 240, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip:hover {
  color: var(--nv-text);
  border-color: rgba(var(--tone-rgb), 0.45);
}

/* line 241, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 1px;
}

/* line 243, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip.is-active {
  border-color: rgba(var(--tone-rgb), 0.5);
  background: rgba(var(--tone-rgb), 0.12);
  color: var(--nv-text);
}

/* line 248, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip.is-active i {
  background: var(--tone);
  box-shadow: 0 0 8px rgba(var(--tone-rgb), 0.7);
}

/* line 252, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip--sma20 {
  --tone: #60a5fa;
  --tone-rgb: 96, 165, 250;
}

/* line 253, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip--sma50 {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
}

/* line 254, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip--sma200 {
  --tone: #c084fc;
  --tone-rgb: 192, 132, 252;
}

/* line 255, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip--bb {
  --tone: #94a3b8;
  --tone-rgb: 148, 163, 184;
}

/* line 256, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chip--volume {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 258, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-advanced,
body .sd-panel .sd-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
  font-size: 0.74rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

/* line 276, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-advanced:hover,
body .sd-panel .sd-link-btn:hover {
  border-color: var(--nv-gold);
  background: rgba(204, 144, 60, 0.22);
  color: var(--nv-gold-light);
  transform: translateY(-1px);
}

/* line 277, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-advanced:focus-visible,
body .sd-panel .sd-link-btn:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 280, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-link-btn--sm {
  min-height: 28px;
  padding: 0 10px;
  font-size: 0.7rem;
}

/* line 283, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal {
  --tone: #cc903c;
  --tone-rgb: 204, 144, 60;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid rgba(var(--tone-rgb), 0.5);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(var(--tone-rgb), 0.24), rgba(var(--tone-rgb), 0.08));
  color: var(--tone);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 0 28px rgba(var(--tone-rgb), 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}

/* line 300, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal.is-buy {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 301, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal.is-sell {
  --tone: #f87171;
  --tone-rgb: 248, 113, 113;
}

/* line 302, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal.is-hold {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
}

/* line 303, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal.is-wait {
  --tone: #60a5fa;
  --tone-rgb: 96, 165, 250;
}

/* line 304, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal.is-trim {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 307, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-signal--sm {
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 0.78rem;
  box-shadow: none;
}

/* line 314, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-skeleton-lines {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

/* line 320, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-skeleton-lines span {
  display: block;
  height: 8px;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.07));
  background-size: 200% 100%;
  animation: sd-sheen 2.4s linear infinite;
}

/* line 332, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate {
  position: relative;
  min-width: 0;
}

/* line 336, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 22px 20px 20px;
  overflow: hidden;
  text-align: center;
}

/* line 348, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-orb {
  position: absolute;
  z-index: -1;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  filter: blur(46px);
  opacity: 0.55;
  pointer-events: none;
  animation: sd-orb 9s ease-in-out infinite alternate;
}

/* line 360, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-orb--1 {
  top: -110px;
  left: -60px;
  background: rgba(204, 144, 60, 0.45);
}

/* line 361, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-orb--2 {
  right: -80px;
  bottom: -120px;
  background: rgba(96, 165, 250, 0.28);
  animation-delay: -4s;
}

/* line 363, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(224, 188, 138, 0.45);
  background: linear-gradient(145deg, rgba(224, 188, 138, 0.28), rgba(204, 144, 60, 0.08));
  color: #e0bc8a;
  font-size: 1.25rem;
  box-shadow: 0 0 0 6px rgba(204, 144, 60, 0.06), 0 0 34px rgba(204, 144, 60, 0.35);
}

/* line 376, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-icon::after {
  content: '';
  position: absolute;
  inset: -7px;
  border-radius: 20px;
  border: 1px solid rgba(204, 144, 60, 0.25);
  animation: sd-halo 2.8s ease-in-out infinite;
}

/* line 386, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-icon--sm {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 0.82rem;
  box-shadow: 0 0 18px rgba(204, 144, 60, 0.25);
}

/* line 393, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-icon--sm::after {
  display: none;
}

/* line 396, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  background: rgba(204, 144, 60, 0.12);
  color: #e0bc8a;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* line 410, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-badge i {
  font-size: 0.6rem;
}

/* line 413, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-title {
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.25;
  background: linear-gradient(100deg, #f7f6f4 10%, #e0bc8a 55%, #cc903c 95%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* line 424, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-text {
  max-width: 420px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--sd-text-2);
}

/* line 431, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-bullets {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 2px 0 4px;
  padding: 0;
  list-style: none;
  text-align: left;
}

/* line 440, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--sd-text-2);
}

/* line 448, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-bullets i {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.16);
  color: #22c55e;
  font-size: 0.55rem;
}

/* line 462, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, #e3b56a, #cc903c 50%, #a97832);
  color: #111825;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 28px rgba(204, 144, 60, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* line 481, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.4) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: sd-shine 5s ease-in-out 1.2s infinite;
}

/* line 490, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta:hover, body .sd-panel .sd-gate .sd-gate-cta:focus-visible {
  color: #111825;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(204, 144, 60, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* line 496, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta:focus-visible {
  outline: 2px solid #e0bc8a;
  outline-offset: 3px;
}

/* line 498, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta .sd-gate-cta-arrow {
  transition: transform 0.2s ease;
}

/* line 499, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta:hover .sd-gate-cta-arrow {
  transform: translateX(3px);
}

/* line 502, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-cta--sm {
  padding: 7px 12px;
  border-radius: 10px;
  font-size: 0.74rem;
  box-shadow: 0 6px 16px rgba(204, 144, 60, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* line 509, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-reassurance {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.74rem;
  color: var(--sd-text-3);
}

/* line 516, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate .sd-gate-reassurance i {
  color: #22c55e;
}

/* line 520, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--card {
  border: 1px solid var(--nv-border-gold);
  border-radius: 14px;
  background: radial-gradient(120% 90% at 50% 0%, rgba(204, 144, 60, 0.12), rgba(204, 144, 60, 0) 60%), linear-gradient(180deg, rgba(17, 24, 37, 0.95), rgba(10, 16, 32, 0.95));
  overflow: hidden;
}

/* line 531, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--overlay {
  display: grid;
  border-radius: 12px;
  overflow: hidden;
}

/* line 536, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--overlay > .sd-gate-preview,
body .sd-panel .sd-gate--overlay > .sd-gate-body {
  grid-area: 1 / 1;
}

/* line 539, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--overlay .sd-gate-preview {
  filter: blur(4px) saturate(0.8);
  opacity: 0.5;
  pointer-events: none;
  user-select: none;
}

/* line 546, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--overlay > .sd-gate-body {
  justify-content: center;
  background: radial-gradient(80% 90% at 50% 45%, rgba(8, 13, 25, 0.82) 0%, rgba(8, 13, 25, 0.55) 70%, rgba(8, 13, 25, 0.35) 100%);
}

/* line 554, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
  border: 1px solid var(--nv-border-gold);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(17, 24, 37, 0.92), rgba(10, 16, 32, 0.92));
  overflow: hidden;
}

/* line 563, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-preview {
  position: relative;
  padding: 12px;
  filter: blur(3.5px) saturate(0.75);
  opacity: 0.5;
  pointer-events: none;
  user-select: none;
  overflow: hidden;
}

/* line 572, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-preview .sd-plan-grid,
body .sd-panel .sd-gate--banner .sd-gate-preview .sd-fund-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 576, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-pitch {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 16px 18px;
  overflow: hidden;
  border-left: 1px solid rgba(204, 144, 60, 0.18);
  background: radial-gradient(120% 120% at 100% 0%, rgba(204, 144, 60, 0.12), rgba(204, 144, 60, 0) 60%);
}

/* line 589, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-pitch-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 595, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-pitch-titles {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

/* line 602, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-icon--md {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  font-size: 1rem;
}

/* line 608, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-icon--md::after {
  inset: -5px;
  border-radius: 16px;
}

/* line 611, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-title {
  font-size: 1rem;
}

/* line 612, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-text {
  font-size: 0.8rem;
}

/* line 614, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-bullets--inline {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0;
}

/* line 620, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-bullets--inline li {
  font-size: 0.76rem;
}

/* line 623, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--banner .sd-gate-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 2px;
}

/* line 632, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.is-narrow .sd-gate--banner,
body .mdr-stock-panel .sd-gate--banner {
  grid-template-columns: minmax(0, 1fr);
}

/* line 636, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.is-narrow .sd-gate--banner .sd-gate-preview,
body .mdr-stock-panel .sd-gate--banner .sd-gate-preview {
  display: none;
}

/* line 637, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.is-narrow .sd-gate--banner .sd-gate-pitch,
body .mdr-stock-panel .sd-gate--banner .sd-gate-pitch {
  border-left: 0;
  padding: 14px;
}

/* line 638, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.is-narrow .sd-gate--banner .sd-gate-actions,
body .mdr-stock-panel .sd-gate--banner .sd-gate-actions {
  width: 100%;
}

/* line 639, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.is-narrow .sd-gate--banner .sd-gate-cta,
body .mdr-stock-panel .sd-gate--banner .sd-gate-cta {
  flex: 1 1 auto;
}

/* line 642, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-lock-chip {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 7px;
  padding: 4px 11px;
  border: 1px dashed rgba(204, 144, 60, 0.55);
  border-radius: 999px;
  background: rgba(204, 144, 60, 0.1);
  color: #e0bc8a;
  font-size: 0.72rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

/* line 658, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-lock-chip i {
  font-size: 0.64rem;
}

/* line 660, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-lock-chip:hover, body .sd-panel .sd-lock-chip:focus-visible {
  border-style: solid;
  border-color: var(--nv-gold);
  background: rgba(204, 144, 60, 0.2);
  color: #e0bc8a;
  transform: translateY(-1px);
}

/* line 669, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--inline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 12px;
  padding: 10px 12px;
  border: 1px dashed rgba(204, 144, 60, 0.4);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1), rgba(204, 144, 60, 0.03));
}

/* line 679, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--inline .sd-gate-inline-text {
  display: flex;
  flex-direction: column;
  flex: 1 1 140px;
  min-width: 0;
  gap: 1px;
}

/* line 686, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--inline .sd-gate-inline-text strong {
  font-size: 0.8rem;
  color: var(--nv-text);
}

/* line 687, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-gate--inline .sd-gate-inline-text span {
  font-size: 0.74rem;
  color: var(--sd-text-3);
}

/* line 692, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk {
  padding-top: 16px;
}

/* line 695, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-bottom: 12px;
}

/* line 704, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-quote {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  min-width: 0;
}

/* line 712, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-ticker {
  padding: 3px 9px;
  border: 1px solid var(--nv-border-gold);
  border-radius: 8px;
  background: var(--nv-gold-soft);
  color: #e0bc8a;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* line 723, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-name {
  min-width: 0;
  overflow: hidden;
  color: var(--sd-text-2);
  font-size: 0.92rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 733, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-pill-247 {
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(96, 165, 250, 0.14);
  color: #60a5fa;
  font-size: 0.66rem;
  font-weight: 800;
}

/* line 742, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-price-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
}

/* line 749, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-price {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
}

/* line 757, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-change {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 767, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-change.is-up {
  background: rgba(34, 197, 94, 0.12);
}

/* line 768, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-change.is-down {
  background: rgba(248, 113, 113, 0.12);
}

/* line 769, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-change.is-flat {
  background: var(--sd-raised);
  color: var(--sd-text-3);
}

/* line 772, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-asof {
  font-size: 0.74rem;
  color: var(--sd-text-3);
}

/* line 774, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sd-line);
}

/* line 783, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-toolbar .sd-advanced {
  margin-left: auto;
}

/* line 786, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-tools {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}

/* line 792, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-toolbar-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

/* line 800, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-tools-arrow {
  display: none;
}

/* line 802, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-body {
  display: block;
  min-width: 0;
}

/* line 807, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-stage {
  position: relative;
  min-width: 0;
}

/* line 812, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk .sd-cockpit {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

/* line 819, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-wide .sd-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: start;
}

/* line 826, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-wide .sd-cockpit {
  margin-top: 0;
}

/* line 829, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-medium .sd-cockpit {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 832, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-medium .sd-cockpit .sd-technical {
  grid-column: 1 / -1;
}

/* line 837, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart {
  position: relative;
  width: 100%;
  user-select: none;
  -webkit-user-select: none;
}

/* line 843, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-chart-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: inherit;
}

/* line 851, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-hit {
  cursor: crosshair;
  touch-action: pan-y;
}

/* line 856, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-grid line {
  stroke: rgba(255, 255, 255, 0.05);
  stroke-width: 1;
  shape-rendering: crispEdges;
}

/* line 862, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-axis-labels text,
body .sd-panel .sd-chart .sd-axis-text {
  fill: rgba(203, 213, 225, 0.55);
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
}

/* line 869, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-time-labels text {
  font-size: 10.5px;
}

/* line 871, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-today-line {
  stroke: rgba(204, 144, 60, 0.4);
  stroke-width: 1;
  stroke-dasharray: 3 4;
}

/* line 877, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-bb-band {
  fill: rgba(148, 163, 184, 0.07);
}

/* line 878, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-bb-line {
  fill: none;
  stroke: rgba(148, 163, 184, 0.45);
  stroke-width: 1;
}

/* line 880, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-sma {
  fill: none;
  stroke-width: 1.6;
  stroke-linejoin: round;
  stroke-linecap: round;
  opacity: 0.95;
}

/* line 888, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-osc-guide {
  stroke: rgba(255, 255, 255, 0.09);
  stroke-dasharray: 3 4;
}

/* line 889, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-pane-sep {
  stroke: rgba(255, 255, 255, 0.07);
}

/* line 891, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-level-line {
  stroke-width: 1;
  stroke-dasharray: 6 5;
  opacity: 0.75;
}

/* line 897, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cone-mid {
  animation: sd-dash 1.2s linear infinite;
}

/* line 899, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cone.is-locked {
  opacity: 0.85;
}

/* line 901, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cone-labels text {
  fill: #e0bc8a;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* line 908, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-last-line {
  stroke-width: 1;
  stroke-dasharray: 2 3;
  opacity: 0.6;
}

/* line 914, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-pulse {
  transform-box: fill-box;
  transform-origin: center;
  animation: sd-pulse 2s ease-out infinite;
}

/* line 920, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-tags text {
  font-size: 10.5px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 926, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-crosshair line {
  stroke: rgba(224, 188, 138, 0.55);
  stroke-width: 1;
  stroke-dasharray: 4 4;
}

/* line 932, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cross-tag {
  fill: #e0bc8a;
}

/* line 934, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cross-tag-text {
  fill: #111825;
  font-size: 10.5px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 941, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cross-dot {
  fill: #0d1422;
  stroke: #e0bc8a;
  stroke-width: 2;
}

/* line 943, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-osc-legend {
  position: absolute;
  left: 10px;
  display: flex;
  gap: 12px;
  font-size: 0.7rem;
  color: var(--sd-text-3);
  pointer-events: none;
}

/* line 952, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-osc-legend i {
  display: inline-block;
  width: 8px;
  height: 3px;
  margin-right: 5px;
  border-radius: 2px;
  vertical-align: middle;
}

/* line 961, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-osc-legend strong {
  color: var(--sd-text-2);
  font-variant-numeric: tabular-nums;
}

/* line 964, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-cone-lock {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  background: rgba(13, 20, 34, 0.92);
  color: #e0bc8a;
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 22px rgba(204, 144, 60, 0.3);
  pointer-events: none;
}

/* line 983, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker {
  --tone: #94a3b8;
  --tone-rgb: 148, 163, 184;
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 1px solid rgba(var(--tone-rgb), 0.6);
  border-radius: 50%;
  background: #0d1422;
  color: var(--tone);
  font-size: 0.56rem;
  transform: translate(-50%, -50%);
  cursor: pointer;
  box-shadow: 0 0 10px rgba(var(--tone-rgb), 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* line 1002, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker.sd-tone--up {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 1003, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker.sd-tone--down {
  --tone: #f87171;
  --tone-rgb: 248, 113, 113;
}

/* line 1004, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker.sd-tone--gold {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
}

/* line 1005, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker.sd-tone--warn {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 1007, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker b {
  position: absolute;
  top: -6px;
  right: -7px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  border-radius: 999px;
  background: var(--tone);
  color: #0d1422;
  font-size: 0.55rem;
  line-height: 14px;
  text-align: center;
}

/* line 1022, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker:hover, body .sd-panel .sd-chart .sd-marker:focus-visible {
  transform: translate(-50%, -50%) scale(1.15);
  box-shadow: 0 0 16px rgba(var(--tone-rgb), 0.6);
  outline: none;
}

/* line 1029, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker--congress {
  border-radius: 6px;
}

/* line 1032, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker::before {
  content: '';
  position: absolute;
  inset: -9px;
}

/* line 1038, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker-tip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  display: none;
  width: 230px;
  padding: 8px 10px;
  border: 1px solid rgba(var(--tone-rgb), 0.4);
  border-radius: 10px;
  background: rgba(13, 20, 34, 0.98);
  color: var(--sd-text-2);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  transform: translateX(-50%);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

/* line 1057, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker-tip strong {
  display: block;
  margin-bottom: 2px;
  color: var(--tone);
  font-size: 0.74rem;
}

/* line 1060, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker.is-end .sd-marker-tip {
  left: auto;
  right: -6px;
  transform: none;
}

/* line 1061, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker.is-start .sd-marker-tip {
  left: -6px;
  transform: none;
}

/* line 1062, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker:hover .sd-marker-tip,
body .sd-panel .sd-chart .sd-marker:focus .sd-marker-tip {
  display: block;
}

/* line 1068, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-legend {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 2px;
  min-height: 38px;
  padding: 0 4px 6px;
}

/* line 1077, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  color: var(--sd-text-2);
}

/* line 1085, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-legend-row em {
  margin-right: 3px;
  font-style: normal;
  color: var(--sd-text-3);
}

/* line 1091, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-legend-row i {
  display: inline-block;
  width: 8px;
  height: 3px;
  margin-right: 5px;
  border-radius: 2px;
  vertical-align: middle;
}

/* line 1101, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-legend-date {
  font-weight: 700;
  color: var(--nv-text);
}

/* line 1102, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-legend-row--sma {
  color: var(--sd-text-3);
}

/* line 1105, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

/* line 1111, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 9px;
  border-radius: 10px;
  background: var(--sd-raised);
}

/* line 1119, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell strong {
  font-size: 0.86rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1125, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell.is-up strong {
  color: #22c55e;
}

/* line 1126, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell.is-down strong {
  color: #f87171;
}

/* line 1127, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell.is-flat strong {
  color: var(--sd-text-3);
}

/* line 1129, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell .sd-perf-label {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sd-text-3);
}

/* line 1137, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell .sd-perf-bar {
  height: 3px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

/* line 1143, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell .sd-perf-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
}

/* line 1146, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell.is-up .sd-perf-bar {
  color: #22c55e;
}

/* line 1147, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-cell.is-down .sd-perf-bar {
  color: #f87171;
}

/* line 1150, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-period {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--sd-line);
  font-size: 0.74rem;
  color: var(--sd-text-2);
  font-variant-numeric: tabular-nums;
}

/* line 1162, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-period .sd-perf-period-label {
  color: var(--sd-text-3);
}

/* line 1163, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-period strong {
  font-weight: 800;
}

/* line 1164, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-period strong.is-up {
  color: #22c55e;
}

/* line 1165, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-period strong.is-down {
  color: #f87171;
}

/* line 1166, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-perf-period em {
  margin-right: 4px;
  font-style: normal;
  color: var(--sd-text-3);
}

/* line 1169, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast {
  border-color: rgba(204, 144, 60, 0.28);
  background: radial-gradient(100% 80% at 100% 0%, rgba(204, 144, 60, 0.12), rgba(204, 144, 60, 0) 60%), linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.014));
}

/* line 1175, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast.is-empty {
  border-color: var(--sd-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.014));
}

/* line 1177, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 1179, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-areas: "h price change" "h conf conf";
  align-items: center;
  gap: 2px 10px;
  padding: 9px 10px;
  border-radius: 10px;
  background: rgba(2, 8, 23, 0.4);
  border-left: 3px solid rgba(204, 144, 60, 0.6);
}

/* line 1190, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-row.is-up {
  border-left-color: #22c55e;
}

/* line 1191, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-row.is-down {
  border-left-color: #f87171;
}

/* line 1194, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-h {
  grid-area: h;
  color: #e0bc8a;
  font-size: 0.78rem;
  font-weight: 800;
}

/* line 1201, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-price {
  grid-area: price;
  font-size: 1.02rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1208, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-change {
  grid-area: change;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1218, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-conf {
  grid-area: conf;
}

/* line 1220, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-range {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 10px;
  font-size: 0.74rem;
  color: var(--sd-text-3);
}

/* line 1229, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-forecast .sd-forecast-range strong {
  color: var(--sd-text-2);
  font-variant-numeric: tabular-nums;
}

/* line 1233, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-conf {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.7rem;
  color: var(--sd-text-3);
}

/* line 1240, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-conf > span {
  display: inline-flex;
  gap: 2px;
}

/* line 1242, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-conf i {
  display: block;
  width: 10px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.1);
}

/* line 1250, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-conf.sd-conf--1 i:nth-child(-n+1), body .sd-panel .sd-conf.sd-conf--2 i:nth-child(-n+2), body .sd-panel .sd-conf.sd-conf--3 i:nth-child(-n+3) {
  background: #e0bc8a;
}

/* line 1256, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

/* line 1264, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sd-text-3);
}

/* line 1272, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-verdict {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}

/* line 1281, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-verdict.is-up {
  background: rgba(34, 197, 94, 0.14);
  color: #22c55e;
}

/* line 1282, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-verdict.is-down {
  background: rgba(248, 113, 113, 0.14);
  color: #f87171;
}

/* line 1283, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-verdict.is-mixed {
  background: rgba(224, 188, 138, 0.14);
  color: #e0bc8a;
}

/* line 1286, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-sma-pills {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}

/* line 1293, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-sma-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 5px 8px;
  border-radius: 8px;
  background: var(--sd-raised);
  color: var(--sd-text-3);
  font-size: 0.7rem;
  font-weight: 700;
}

/* line 1305, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-sma-pill.is-up i {
  color: #22c55e;
}

/* line 1306, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-sma-pill.is-down i {
  color: #f87171;
}

/* line 1309, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0 0 10px;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--sd-text-2);
}

/* line 1318, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-note i {
  margin-top: 3px;
  font-size: 0.7rem;
}

/* line 1319, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-note.is-up i {
  color: #22c55e;
}

/* line 1320, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-note.is-down i {
  color: #f87171;
}

/* line 1321, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-technical .sd-tech-note span {
  color: var(--sd-text-3);
}

/* line 1325, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi {
  margin-bottom: 10px;
}

/* line 1328, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 0.72rem;
  color: var(--sd-text-3);
}

/* line 1336, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-head > span {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
}

/* line 1337, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-head strong {
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
}

/* line 1338, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-head em {
  margin-left: auto;
  font-style: normal;
  font-weight: 800;
}

/* line 1341, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi.is-overbought em {
  color: #f87171;
}

/* line 1342, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi.is-oversold em {
  color: #22c55e;
}

/* line 1343, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi.is-neutral em {
  color: #e0bc8a;
}

/* line 1345, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-track {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.25), rgba(148, 163, 184, 0.12) 30%, rgba(148, 163, 184, 0.12) 70%, rgba(248, 113, 113, 0.25));
}

/* line 1352, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30%;
  border-radius: 999px;
}

/* line 1360, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-zone--low {
  left: 0;
  box-shadow: inset -1px 0 0 rgba(34, 197, 94, 0.6);
}

/* line 1361, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-zone--high {
  right: 0;
  box-shadow: inset 1px 0 0 rgba(248, 113, 113, 0.6);
}

/* line 1363, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-marker {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #0d1422;
  border-radius: 50%;
  background: #e0bc8a;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 10px rgba(224, 188, 138, 0.7);
  transition: left 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* line 1376, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi.is-overbought .sd-rsi-marker {
  background: #f87171;
  box-shadow: 0 0 10px rgba(248, 113, 113, 0.7);
}

/* line 1377, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi.is-oversold .sd-rsi-marker {
  background: #22c55e;
  box-shadow: 0 0 10px rgba(34, 197, 94, 0.7);
}

/* line 1379, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-scale {
  position: relative;
  height: 12px;
  margin-top: 3px;
  font-size: 0.6rem;
  color: var(--nv-faint);
}

/* line 1386, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-scale span {
  position: absolute;
  transform: translateX(-50%);
}

/* line 1387, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-scale span:nth-child(1) {
  left: 0;
  transform: none;
}

/* line 1388, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-scale span:nth-child(2) {
  left: 30%;
}

/* line 1389, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-scale span:nth-child(3) {
  left: 70%;
}

/* line 1390, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-rsi .sd-rsi-scale span:nth-child(4) {
  right: 0;
  transform: none;
}

/* line 1395, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

/* line 1402, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid var(--sd-line);
  border-radius: 12px;
  background: var(--sd-raised);
}

/* line 1412, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--sd-text-3);
}

/* line 1422, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-label i {
  color: var(--nv-gold);
  font-size: 0.7rem;
}

/* line 1425, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-value {
  font-size: 1.05rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
}

/* line 1431, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-value small {
  margin-left: 4px;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--sd-text-3);
}

/* line 1432, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-value.is-hot {
  color: #e0bc8a;
  text-shadow: 0 0 14px rgba(204, 144, 60, 0.45);
}

/* line 1435, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-sub {
  display: inline-flex;
  align-items: center;
  font-size: 0.72rem;
  color: var(--sd-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1443, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-tile-text {
  font-size: 0.74rem;
  line-height: 1.4;
  color: var(--sd-text-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 1453, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-flag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(249, 115, 22, 0.14);
  color: #f97316;
  font-size: 0.68rem;
  font-weight: 800;
}

/* line 1466, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-meter {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
}

/* line 1472, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(204, 144, 60, 0.5), #e0bc8a);
}

/* line 1479, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-meter > i {
  position: absolute;
  top: -2px;
  bottom: -2px;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
}

/* line 1488, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-range {
  position: relative;
  height: 6px;
  margin: 6px 0 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(248, 113, 113, 0.35), rgba(224, 188, 138, 0.3), rgba(34, 197, 94, 0.35));
}

/* line 1496, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-range-fill {
  display: block;
  height: 100%;
}

/* line 1498, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-range-dot {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 2px solid #0d1422;
  border-radius: 50%;
  background: var(--nv-text);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 10px rgba(247, 246, 244, 0.6);
}

/* line 1510, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-range-ends {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  font-size: 0.68rem;
  color: var(--sd-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1519, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

/* line 1527, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  font-size: 0.74rem;
  color: var(--sd-text-3);
}

/* line 1536, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels strong {
  color: var(--nv-text);
  font-variant-numeric: tabular-nums;
}

/* line 1537, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels em {
  font-style: normal;
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
}

/* line 1538, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels li.is-resistance span {
  color: #f87171;
}

/* line 1539, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels li.is-pivot span {
  color: #e0bc8a;
}

/* line 1540, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-levels li.is-support span {
  color: #22c55e;
}

/* line 1543, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-gate--inline {
  padding: 8px 10px;
}

/* line 1546, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-tile .sd-gate--inline .sd-gate-icon--sm {
  display: none;
}

/* line 1554, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px 16px;
}

/* line 1560, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-block {
  position: relative;
  min-width: 0;
  padding: 12px 14px 14px;
  border: 1px solid var(--sd-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.022);
}

/* line 1569, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-block-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-bottom: 10px;
}

/* line 1577, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-block-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #e0bc8a;
}

/* line 1587, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-block-label i {
  font-size: 0.7rem;
  color: var(--nv-gold);
}

/* line 1590, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-block-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}

/* line 1598, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-meta-text {
  font-size: 0.72rem;
  color: var(--sd-text-3);
}

/* line 1601, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-card {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(var(--tone-rgb), 0.3);
  border-radius: 14px;
  background: radial-gradient(60% 140% at 0% 0%, rgba(var(--tone-rgb), 0.16) 0%, rgba(var(--tone-rgb), 0) 62%), linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015));
  overflow: hidden;
}

/* line 1615, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-card.is-buy {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 1616, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-card.is-sell {
  --tone: #f87171;
  --tone-rgb: 248, 113, 113;
}

/* line 1617, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-card.is-wait {
  --tone: #60a5fa;
  --tone-rgb: 96, 165, 250;
}

/* line 1618, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-card.is-trim {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 1621, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-glow {
  position: absolute;
  top: -90px;
  left: -70px;
  width: 280px;
  height: 200px;
  border-radius: 50%;
  background: rgba(var(--tone-rgb), 0.2);
  filter: blur(50px);
  pointer-events: none;
  animation: sd-orb 10s ease-in-out infinite alternate;
}

/* line 1634, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px 0;
}

/* line 1643, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-row--sub {
  padding-top: 12px;
  border-top: 1px solid var(--sd-line);
}

/* line 1648, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  padding: 0 18px;
  border-left: 1px solid var(--sd-line);
}

/* line 1657, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-stat:first-child {
  padding-left: 0;
  border-left: 0;
}

/* line 1660, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-stat-label {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-text-3);
  white-space: nowrap;
}

/* line 1669, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-stat--signal .sd-signal {
  align-self: flex-start;
}

/* line 1670, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-stat--scores {
  flex: 1 1 auto;
}

/* line 1671, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-stat--bought {
  margin-left: auto;
}

/* line 1673, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

/* line 1679, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence strong {
  font-size: 0.86rem;
  font-weight: 800;
}

/* line 1680, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence.is-high strong {
  color: #22c55e;
}

/* line 1681, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence.is-medium strong {
  color: #e0bc8a;
}

/* line 1682, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence.is-low strong {
  color: #f97316;
}

/* line 1685, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence-bars {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
}

/* line 1690, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence-bars i {
  display: block;
  width: 5px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.12);
}

/* line 1697, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence-bars i:nth-child(1) {
  height: 7px;
}

/* line 1698, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence-bars i:nth-child(2) {
  height: 11px;
}

/* line 1699, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence-bars i:nth-child(3) {
  height: 15px;
}

/* line 1702, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence.is-high .sd-confidence-bars i.is-on {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.5);
}

/* line 1703, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence.is-medium .sd-confidence-bars i.is-on {
  background: #e0bc8a;
  box-shadow: 0 0 6px rgba(224, 188, 138, 0.5);
}

/* line 1704, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-confidence.is-low .sd-confidence-bars i.is-on {
  background: #f97316;
}

/* line 1706, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-models {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
}

/* line 1713, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-model {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  white-space: nowrap;
}

/* line 1720, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-model em {
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--sd-text-3);
}

/* line 1721, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-model small {
  font-size: 0.7rem;
  color: var(--sd-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1724, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-dir {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 800;
}

/* line 1730, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-dir.is-up {
  color: #22c55e;
}

/* line 1731, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-dir.is-down {
  color: #f87171;
}

/* line 1732, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-dir.is-flat {
  color: #e0bc8a;
}

/* line 1735, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-agreement {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
}

/* line 1745, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-agreement.is-aligned {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

/* line 1746, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-agreement.is-split {
  background: rgba(249, 115, 22, 0.14);
  color: #f97316;
}

/* line 1749, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-scores {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
}

/* line 1755, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score {
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 4px 10px;
  min-width: 150px;
}

/* line 1762, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score em {
  font-style: normal;
  font-size: 0.74rem;
  color: var(--sd-text-2);
  white-space: nowrap;
}

/* line 1769, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score strong {
  font-size: 0.86rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1775, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score.is-up strong {
  color: #22c55e;
}

/* line 1776, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score.is-gold strong {
  color: #e0bc8a;
}

/* line 1777, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score.is-down strong {
  color: #f87171;
}

/* line 1780, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score-track {
  grid-column: 1 / -1;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

/* line 1787, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  animation: sd-grow 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

/* line 1790, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score.is-up .sd-score-track span {
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.5), #22c55e);
}

/* line 1791, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score.is-gold .sd-score-track span {
  background: linear-gradient(90deg, rgba(224, 188, 138, 0.45), #e0bc8a);
}

/* line 1792, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-score.is-down .sd-score-track span {
  background: linear-gradient(90deg, rgba(248, 113, 113, 0.45), #f87171);
}

/* line 1794, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-bought {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* line 1801, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-bought strong {
  font-size: 0.9rem;
  font-weight: 800;
}

/* line 1802, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-bought em {
  font-style: normal;
  font-size: 0.8rem;
  font-weight: 800;
}

/* line 1805, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-verdict-link {
  align-self: center;
  margin-left: auto;
}

/* line 1811, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan {
  border-color: rgba(204, 144, 60, 0.22);
  background: radial-gradient(70% 120% at 100% 0%, rgba(204, 144, 60, 0.07), rgba(204, 144, 60, 0) 60%), rgba(255, 255, 255, 0.022);
}

/* line 1818, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-head .sd-signal--sm {
  padding: 3px 9px;
  font-size: 0.72rem;
}

/* line 1820, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-stars {
  display: inline-flex;
  gap: 2px;
  color: #e0bc8a;
  font-size: 0.68rem;
}

/* line 1826, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-stars .far {
  color: rgba(224, 188, 138, 0.32);
}

/* line 1829, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-rr {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 9px;
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  background: var(--nv-gold-soft);
  color: #e0bc8a;
  font-size: 0.7rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1843, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-outdated {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(249, 115, 22, 0.14);
  color: #f97316;
  font-size: 0.68rem;
  font-weight: 800;
}

/* line 1855, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--sd-line);
  border-radius: 10px;
  background: rgba(2, 8, 23, 0.3);
  overflow: hidden;
}

/* line 1864, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  padding: 10px 12px;
}

/* line 1872, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-col + .sd-plan-col {
  border-left: 1px solid var(--sd-line);
}

/* line 1875, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-label {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sd-text-3);
}

/* line 1883, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px 8px;
  width: 100%;
}

/* line 1891, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-type {
  padding: 1px 7px;
  border-radius: 6px;
  background: rgba(96, 165, 250, 0.12);
  color: #60a5fa;
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
}

/* line 1900, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-type.is-down {
  background: rgba(248, 113, 113, 0.12);
  color: #f87171;
}

/* line 1903, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-price {
  font-size: 0.92rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
  white-space: nowrap;
}

/* line 1910, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-price.is-up {
  color: #22c55e;
}

/* line 1913, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-note {
  font-size: 0.7rem;
  color: var(--sd-text-3);
}

/* line 1915, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-info {
  color: var(--nv-faint);
  font-size: 0.72rem;
}

/* line 1919, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-info:hover, body .sd-panel.sd-ai .sd-plan-info:focus {
  color: var(--nv-gold-light);
}

/* line 1922, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-foot {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 10px;
}

/* line 1930, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-rationale {
  flex: 1 1 320px;
  min-width: 0;
  padding-left: 10px;
  border-left: 2px solid rgba(204, 144, 60, 0.5);
  font-size: 0.8rem;
  font-style: italic;
  line-height: 1.5;
  color: var(--sd-text-2);
}

/* line 1941, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-levels {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 1946, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-levels span {
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--sd-raised);
  font-size: 0.72rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1955, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-levels .is-support {
  color: #22c55e;
}

/* line 1956, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-levels .is-pivot {
  color: #e0bc8a;
}

/* line 1957, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-levels .is-resistance {
  color: #f87171;
}

/* line 1960, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-plan-skeleton {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

/* line 1965, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-ai-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "company" "thesis" "side";
  gap: 12px;
  align-items: start;
}

/* line 1973, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-area-company {
  grid-area: company;
}

/* line 1974, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-area-thesis {
  grid-area: thesis;
  min-width: 0;
}

/* line 1975, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-area-side {
  grid-area: side;
}

/* line 1976, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-area-thesis:empty {
  display: none;
}

/* line 1978, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-wide .sd-ai-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  grid-template-areas: "thesis company" "thesis side";
}

/* line 1984, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-medium .sd-area-side {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

/* line 1990, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-ai-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

/* line 1997, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-lead {
  max-width: 78ch;
  font-size: 0.9rem;
  line-height: 1.62;
  color: var(--nv-text);
}

/* line 2004, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-note {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
  margin-top: 10px;
  padding: 8px 0 0 12px;
  border-left: 2px solid rgba(var(--tone-rgb), 0.6);
}

/* line 2010, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-note.is-warn {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 2011, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-note.is-perso {
  --tone: #60a5fa;
  --tone-rgb: 96, 165, 250;
}

/* line 2013, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-note p {
  max-width: 78ch;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--sd-text-2);
}

/* line 2021, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-note-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 3px;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tone);
}

/* line 2033, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-perso {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

/* line 2040, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 2048, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li {
  --tone: #94a3b8;
  --tone-rgb: 148, 163, 184;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 6px 0;
}

/* line 2056, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li + li {
  border-top: 1px dashed rgba(255, 255, 255, 0.06);
}

/* line 2058, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li.sd-tone--up {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 2059, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li.sd-tone--down {
  --tone: #f87171;
  --tone-rgb: 248, 113, 113;
}

/* line 2060, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li.sd-tone--gold {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
}

/* line 2061, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li.sd-tone--warn {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 2062, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline li.is-past {
  opacity: 0.55;
}

/* line 2066, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(var(--tone-rgb), 0.35);
  border-radius: 10px;
  background: rgba(var(--tone-rgb), 0.1);
  color: var(--tone);
  line-height: 1.05;
}

/* line 2079, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-date strong {
  font-size: 0.92rem;
  font-weight: 800;
}

/* line 2080, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-date small {
  font-size: 0.56rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 2083, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 2085, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-kind {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--tone);
}

/* line 2096, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-kind em {
  padding: 0 6px;
  border-radius: 999px;
  background: var(--sd-raised);
  color: var(--sd-text-2);
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
}

/* line 2107, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-timeline-title {
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--sd-text-2);
}

/* line 2113, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-congress {
  padding: 4px;
}

/* line 2114, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-congress .cg-activity {
  margin: 0;
}

/* line 2117, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-company .company-profile-card {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}

/* line 2126, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-sector {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 9px;
  border: 1px solid var(--sd-line);
  border-radius: 999px;
  background: var(--sd-raised);
  color: var(--sd-text-2);
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 2138, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-sector i {
  color: var(--nv-gold);
}

/* line 2142, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 26px;
  align-items: start;
}

/* line 2149, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 2155, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-group {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 4px 0 12px;
}

/* line 2162, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(204, 144, 60, 0.25);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #e0bc8a;
}

/* line 2175, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-title i {
  font-size: 0.66rem;
  color: var(--nv-gold);
}

/* line 2178, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 10px;
  width: 100%;
  padding: 4px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.055);
  cursor: help;
}

/* line 2188, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row:last-child {
  border-bottom: 0;
}

/* line 2190, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-skeleton {
  display: flex;
  justify-content: space-between;
  cursor: default;
}

/* line 2195, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-skeleton .sd-skeleton-lines:last-child {
  width: 30%;
  align-items: flex-end;
}

/* line 2198, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row .dash-tip-content {
  white-space: normal;
}

/* line 2201, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-label {
  min-width: 0;
  overflow: hidden;
  font-size: 0.76rem;
  color: var(--sd-text-3);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 2210, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-value {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  font-size: 0.8rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
}

/* line 2221, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-hilo {
  gap: 8px;
}

/* line 2223, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-badge {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 0 7px;
  border-radius: 6px;
  background: var(--sd-raised);
  color: var(--sd-text-3);
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.6;
}

/* line 2235, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-good .sd-fund-value {
  color: #22c55e;
}

/* line 2236, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-good .sd-fund-badge {
  background: rgba(34, 197, 94, 0.14);
  color: #22c55e;
}

/* line 2237, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-warn .sd-fund-value {
  color: #f97316;
}

/* line 2238, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-warn .sd-fund-badge {
  background: rgba(249, 115, 22, 0.14);
  color: #f97316;
}

/* line 2239, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-neutral .sd-fund-badge {
  background: rgba(96, 165, 250, 0.14);
  color: #60a5fa;
}

/* line 2240, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-up .sd-fund-value {
  color: #22c55e;
}

/* line 2241, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-fund-row.is-down .sd-fund-value {
  color: #f87171;
}

/* line 2244, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-context-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

/* line 2251, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-context-tile {
  padding: 10px 12px;
  border: 1px solid rgba(var(--tone-rgb), 0.16);
  border-radius: 10px;
  background: linear-gradient(160deg, rgba(var(--tone-rgb), 0.07), rgba(var(--tone-rgb), 0.01));
}

/* line 2257, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-context-tile p {
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--sd-text-2);
}

/* line 2259, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-context-tile.is-clamped p {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 2267, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-context-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tone);
}

/* line 2279, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--tone);
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
}

/* line 2292, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-more i {
  font-size: 0.6rem;
}

/* line 2293, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-more:hover {
  text-decoration: underline;
}

/* line 2294, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai .sd-more:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
  border-radius: 4px;
}

/* line 2298, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-medium .sd-fund-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 2300, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow {
  gap: 10px;
}

/* line 2303, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-verdict-card {
  padding: 14px;
}

/* line 2305, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-verdict-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

/* line 2311, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-stat {
  padding: 0;
  border-left: 0;
}

/* line 2316, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-stat--signal,
body .sd-panel.sd-ai.is-narrow .sd-stat--models,
body .sd-panel.sd-ai.is-narrow .sd-stat--scores {
  grid-column: 1 / -1;
}

/* line 2320, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-stat--bought {
  margin-left: 0;
}

/* line 2321, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-scores {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

/* line 2322, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-verdict-link {
  grid-column: 1 / -1;
  justify-content: center;
  margin-left: 0;
}

/* line 2324, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-plan-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 2327, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-plan-col:nth-child(odd) {
  border-left: 0;
}

/* line 2328, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-plan-col:nth-child(n+3) {
  border-top: 1px solid var(--sd-line);
}

/* line 2331, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-plan-head .sd-block-meta {
  width: 100%;
  margin-left: 0;
}

/* line 2332, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-seg--levels {
  display: flex;
  width: 100%;
}

/* line 2333, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-seg--levels button {
  flex: 1;
  justify-content: center;
}

/* line 2335, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-fund-grid {
  grid-template-columns: minmax(0, 1fr);
}

/* line 2336, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-context-grid {
  grid-template-columns: minmax(0, 1fr);
}

/* line 2338, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-block {
  padding: 12px;
}

/* line 2339, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-ai.is-narrow .sd-lead {
  font-size: 0.86rem;
}

/* line 2344, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 180px;
}

/* line 2350, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading > span:not(.sd-loading-label) {
  display: block;
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04));
  background-size: 200% 100%;
  animation: sd-sheen 1.6s linear infinite;
}

/* line 2358, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading .sd-loading-bar {
  height: 18px;
}

/* line 2359, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading .sd-loading-block {
  height: 150px;
}

/* line 2361, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading .sd-loading-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  height: 54px;
  background: none !important;
  animation: none !important;
}

/* line 2369, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading .sd-loading-row span {
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04));
  background-size: 200% 100%;
  animation: sd-sheen 1.6s linear infinite;
}

/* line 2377, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-loading .sd-loading-label {
  color: var(--sd-text-3);
  font-size: 0.8rem;
  text-align: center;
}

/* line 2380, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-empty,
body .sd-panel.sd-panel-error {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 96px;
  color: var(--sd-text-3);
}

/* line 2390, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-empty > i,
body .sd-panel.sd-panel-error > i {
  color: var(--nv-gold);
  font-size: 1.1rem;
}

/* line 2394, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .mdr-stock-panel .sd-panel {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* line 2407, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-head {
  margin-bottom: 10px;
}

/* line 2408, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-price {
  font-size: 1.4rem;
}

/* line 2409, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-name {
  font-size: 0.84rem;
}

/* line 2410, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-asof {
  flex-basis: 100%;
}

/* line 2414, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
}

/* line 2421, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar > .sd-seg {
  display: flex;
  width: 100%;
}

/* line 2425, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar > .sd-seg button {
  flex: 1;
  justify-content: center;
  padding: 0 4px;
}

/* line 2428, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-seg button,
body .sd-panel.sd-chart-desk.is-narrow .sd-chip,
body .sd-panel.sd-chart-desk.is-narrow .sd-advanced {
  min-height: 34px;
}

/* line 2432, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools {
  width: 100%;
}

/* line 2436, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools {
  flex-wrap: nowrap;
  width: 100%;
  padding: 0 2px 7px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scroll-padding: 0 40px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(204, 144, 60, 0.45) transparent;
}

/* line 2449, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools::-webkit-scrollbar {
  height: 3px;
}

/* line 2450, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: rgba(204, 144, 60, 0.45);
}

/* line 2452, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools > *, body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools .sd-chips > * {
  flex-shrink: 0;
  scroll-snap-align: start;
}

/* line 2453, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools .sd-chips {
  flex-wrap: nowrap;
}

/* line 2454, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools .sd-advanced {
  margin-left: 0;
}

/* line 2458, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools-arrow {
  position: absolute;
  top: 0;
  bottom: 7px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 44px;
  padding: 0;
  border: 0;
  color: #e0bc8a;
  font-size: 0.8rem;
  cursor: pointer;
}

/* line 2472, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools-arrow.is-left {
  left: -2px;
  justify-items: start;
  background: linear-gradient(90deg, #0b1220 45%, rgba(11, 18, 32, 0));
}

/* line 2473, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools-arrow.is-right {
  right: -2px;
  justify-items: end;
  background: linear-gradient(270deg, #0b1220 45%, rgba(11, 18, 32, 0));
}

/* line 2475, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools-arrow i {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--nv-border-gold);
  border-radius: 50%;
  background: rgba(13, 20, 34, 0.95);
  box-shadow: 0 0 12px rgba(204, 144, 60, 0.25);
}

/* line 2486, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools-arrow:focus-visible {
  outline: none;
}

/* line 2487, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tools-arrow:focus-visible i {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 2490, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-legend {
  min-height: 34px;
  padding-bottom: 4px;
}

/* line 2491, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-legend-ohlc, body .sd-panel.sd-chart-desk.is-narrow .sd-legend-vol {
  display: none;
}

/* line 2492, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-legend-row--sma {
  font-size: 0.66rem;
}

/* line 2494, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-cone-lock {
  padding: 6px;
}

/* line 2497, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-cone-lock span {
  display: none;
}

/* line 2500, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-cockpit {
  gap: 10px;
}

/* line 2501, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tiles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

/* line 2502, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tile {
  padding: 10px 11px;
}

/* line 2503, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-tile--range, body .sd-panel.sd-chart-desk.is-narrow .sd-tile--levels, body .sd-panel.sd-chart-desk.is-narrow .sd-tile--event {
  grid-column: 1 / -1;
}

/* line 2504, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel.sd-chart-desk.is-narrow .sd-marker-tip {
  width: 180px;
}

/* line 2507, app/assets/stylesheets/charte_pages/_stock_desk.scss */
body .sd-panel .sd-chart .sd-marker-tip {
  width: 200px;
}

/* line 2515, app/assets/stylesheets/charte_pages/_stock_desk.scss */
html body .sd-panel .sd-verdict-card,
html body .sd-panel .sd-gate--card,
html body .sd-panel .sd-gate--overlay,
html body .sd-panel .sd-gate--banner,
html body .sd-panel .sd-gate-body,
html body .sd-panel .sd-gate-pitch,
html body .sd-panel .sd-gate-preview,
html body .sd-panel .sd-plan-grid {
  overflow: hidden !important;
}

/* line 2525, app/assets/stylesheets/charte_pages/_stock_desk.scss */
html body .sd-panel.sd-chart-desk.is-narrow .sd-toolbar-tools {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

@keyframes sd-rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes sd-pulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    transform: scale(3.4);
    opacity: 0;
  }
}

@keyframes sd-dash {
  to {
    stroke-dashoffset: -18;
  }
}

@keyframes sd-orb {
  from {
    transform: translate(0, 0) scale(1);
  }
  to {
    transform: translate(24px, 18px) scale(1.12);
  }
}

@keyframes sd-halo {
  0%, 100% {
    opacity: 0.25;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.05);
  }
}

@keyframes sd-shine {
  0%, 70% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(120%);
  }
}

@keyframes sd-sheen {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}

@keyframes sd-grow {
  from {
    width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 2570, app/assets/stylesheets/charte_pages/_stock_desk.scss */
  body .sd-panel,
body .sd-panel *,
body .sd-panel *::before,
body .sd-panel *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* line 22, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-subtitle {
  color: var(--nv-muted);
}

/* line 25, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-freshness {
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 0.76rem;
  white-space: nowrap;
}

/* line 34, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-freshness > span:empty {
  display: none;
}

/* line 39, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section > .refresh-status-component {
  margin: 0;
}

/* line 40, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section > .refresh-status-component .refresh-status-text:empty {
  display: none;
}

/* line 43, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-generate,
.opportunities-page .opportunities-section .btn-opp-configure {
  min-height: 44px;
  border-radius: 999px;
  font-size: 0.86rem;
  line-height: 1.2;
}

/* line 50, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-generate:focus-visible,
.opportunities-page .opportunities-section .btn-opp-configure:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 53, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-generate {
  padding: 0.55rem 1.2rem;
  border: 1px solid transparent;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 60, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-generate:hover {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
  color: #111825;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(204, 144, 60, 0.32);
}

/* line 67, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-generate.btn-opp-disabled {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-faint);
  box-shadow: none;
}

/* line 73, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-generate.btn-opp-disabled:hover {
  transform: none;
}

/* line 77, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-configure {
  padding: 0.55rem 1.05rem;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-text);
}

/* line 83, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-configure i {
  color: var(--nv-gold);
}

/* line 85, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-configure:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 93, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-disclaimer {
  gap: 0.6rem;
  padding: 0.6rem 0.95rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 100, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-disclaimer i {
  color: var(--nv-gold);
}

/* line 101, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-disclaimer span {
  color: var(--nv-muted);
}

/* line 105, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-filter-toggle {
  min-height: 40px;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-text);
  font-weight: 600;
}

/* line 114, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-filter-toggle > .fa-filter {
  color: var(--nv-gold);
}

/* line 116, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .btn-opp-filter-toggle:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
}

/* line 122, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-filter-count {
  border-radius: 999px;
  background: var(--nv-gold);
  color: #111825;
}

/* line 128, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-filter-dropdown {
  min-width: 240px;
  margin-top: 0.5rem;
  padding: 0.85rem;
  border-radius: 14px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-surface-flat);
  box-shadow: 0 18px 40px rgba(0, 6, 21, 0.45);
}

/* line 138, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-filter-group:not(:last-child) {
  border-bottom-color: var(--nv-border);
}

/* line 140, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-filter-group-title {
  letter-spacing: 0.12em;
  color: var(--nv-gold);
}

/* line 145, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-filter-checkbox {
  border-radius: 8px;
  color: var(--nv-text);
}

/* line 149, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-filter-checkbox:hover {
  background: var(--nv-inset-hover);
}

/* line 153, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-track-record {
  padding: 0.9rem 1.25rem;
  border-radius: var(--nv-radius);
  border: 1px solid var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 161, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-tr-label {
  color: var(--nv-muted);
}

/* line 162, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-tr-divider {
  background: var(--nv-border);
}

/* line 164, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-tr-badge {
  border-radius: 999px;
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 174, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opportunity-card {
  border-radius: var(--nv-radius);
  border-top-color: var(--nv-border);
  border-right-color: var(--nv-border);
  border-bottom-color: var(--nv-border);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 183, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opportunity-card.is-strong-signal {
  border-top-color: var(--nv-border-gold);
  border-right-color: var(--nv-border-gold);
  border-bottom-color: var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
}

@media (hover: hover) {
  /* line 191, app/assets/stylesheets/charte_pages/_opportunities.scss */
  .opportunities-page .opportunities-section .opportunity-card:hover {
    border-top-color: var(--nv-border-gold);
    border-right-color: var(--nv-border-gold);
    border-bottom-color: var(--nv-border-gold);
    box-shadow: 0 22px 46px rgba(0, 6, 21, 0.5);
  }
}

/* line 199, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-card-top,
.opportunities-page .opportunities-section .opp-card-identity,
.opportunities-page .opportunities-section .opp-metrics-row {
  border-bottom-color: rgba(148, 163, 184, 0.09);
}

/* line 203, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-card-index {
  color: var(--nv-faint);
}

/* line 204, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-name {
  color: var(--nv-muted);
}

/* line 205, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-metric-label {
  color: var(--nv-faint);
}

/* line 207, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-metric-value.positive {
  color: var(--nv-up);
}

/* line 208, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-metric-value.negative {
  color: var(--nv-down);
}

/* line 209, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-metric-arrow {
  color: var(--nv-faint);
}

/* line 210, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-metric-divider {
  background: rgba(148, 163, 184, 0.09);
}

/* line 211, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-rationale-header span {
  color: var(--nv-muted);
}

/* line 212, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-rationale-text {
  color: rgba(247, 246, 244, 0.78);
}

/* line 215, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-action-btn.opp-watchlist-btn,
.opportunities-page .opportunities-section .opp-action-btn.opp-dismiss-btn {
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 222, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-action-btn.opp-watchlist-btn:hover:not(:disabled) {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 228, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-action-btn.opp-dismiss-btn:hover:not(:disabled) {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.1);
  color: var(--nv-down);
}

/* line 234, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-action-btn.opp-action-watching {
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
}

/* line 241, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-dismissed-toggle {
  border-radius: 14px;
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 247, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-dismissed-toggle:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 254, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-dismissed-count {
  border-radius: 999px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 261, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-empty-state {
  max-width: 680px;
  margin: 1.5rem auto 1.25rem;
  padding: 2.5rem 2rem;
  border-radius: 18px;
  border: 1px solid var(--nv-border-gold);
  background: radial-gradient(70% 90% at 50% 0%, rgba(204, 144, 60, 0.14) 0%, rgba(204, 144, 60, 0) 60%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-muted);
}

/* line 273, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-empty-state .opp-empty-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 1.25rem;
  border-radius: 16px;
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
}

/* line 281, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-empty-state .opp-empty-icon i {
  font-size: 1.5rem;
}

/* line 284, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section .opp-empty-state h3 {
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--nv-text);
}

/* line 292, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section table.opp-table {
  border-color: var(--nv-border);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 297, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section table.opp-table thead th {
  background: rgba(255, 255, 255, 0.025);
}

/* line 301, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opportunities-section #refresh-opportunities-btn.disabled,
.opportunities-page .opportunities-section #refresh-opportunities-btn:disabled,
.opportunities-page .opportunities-section #refresh-opportunities-btn-empty.disabled,
.opportunities-page .opportunities-section #refresh-opportunities-btn-empty:disabled {
  background: var(--nv-inset) !important;
  border-color: var(--nv-border) !important;
  color: var(--nv-faint) !important;
  box-shadow: none;
}

@media (min-width: 641px) {
  /* line 312, app/assets/stylesheets/charte_pages/_opportunities.scss */
  .opportunities-page .opportunities-section .opp-header {
    align-items: flex-end;
  }
}

@media (max-width: 767.98px) {
  /* line 318, app/assets/stylesheets/charte_pages/_opportunities.scss */
  .opportunities-page .opportunities-section .opp-title-row {
    min-height: 44px;
    padding-left: 56px;
  }
  /* line 323, app/assets/stylesheets/charte_pages/_opportunities.scss */
  .opportunities-page .opportunities-section .btn-opp-filter-toggle {
    min-height: 44px;
  }
}

@media (max-width: 767.98px) {
  /* line 330, app/assets/stylesheets/charte_pages/_opportunities.scss */
  .opportunities-page .tab-page-content {
    padding: 0 0.5rem;
  }
}

/* line 334, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opp-view-switch {
  border-radius: 999px;
  border-color: var(--nv-border);
  background: var(--nv-inset);
}

/* line 340, app/assets/stylesheets/charte_pages/_opportunities.scss */
.opportunities-page .opp-view-switch__option {
  border-radius: 999px;
}

/* line 18, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page .text-primary {
  color: var(--nv-gold-light) !important;
}

/* line 23, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-count,
body .simulations-page.simulations-index .sim-quota {
  border-radius: 999px;
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 31, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-mobile-cta .btn-primary {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 40, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-search-icon {
  color: var(--nv-faint);
}

/* line 42, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-search-input {
  border-radius: 14px;
  border-color: var(--nv-border);
  background: var(--nv-input);
  color: var(--nv-text);
  box-shadow: var(--nv-shadow);
}

/* line 49, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-search-input::placeholder {
  color: var(--nv-faint);
}

/* line 50, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-search-input:focus {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 53, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-search-clear {
  color: var(--nv-muted);
}

/* line 55, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-chip {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

/* line 61, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-chip:hover {
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 63, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-chip.is-active {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 71, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-card {
  border: 1px solid var(--nv-border);
  border-left-width: 3px;
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  transition: border-color 0.18s ease, transform 0.18s ease;
}

/* line 79, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-card:hover {
  border-top-color: var(--nv-border-gold);
  border-right-color: var(--nv-border-gold);
  border-bottom-color: var(--nv-border-gold);
}

/* line 81, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-card.is-unseen {
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.11) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.16), var(--nv-shadow);
}

/* line 89, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-mode,
body .simulations-page.simulations-index .sim-status,
body .simulations-page.simulations-index .sim-event {
  border-radius: 999px;
}

/* line 93, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-status:not(.sim-status--completed):not(.sim-status--failed) {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 99, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-card-title {
  font-weight: 600;
  color: var(--nv-text);
}

/* line 104, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-dates,
body .simulations-page.simulations-index .sim-time,
body .simulations-page.simulations-index .sim-outcome-flow {
  color: var(--nv-faint);
}

/* line 108, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-duration {
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 110, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-mode-row,
body .simulations-page.simulations-index .sim-event,
body .simulations-page.simulations-index .sim-state:not(.sim-state--error) {
  color: var(--nv-muted);
}

/* line 114, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-mode-row strong {
  color: var(--nv-text);
}

/* line 115, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-mode-row .is-negative strong {
  color: var(--nv-down);
}

/* line 117, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-card-foot {
  border-top-color: var(--nv-border);
}

/* line 119, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn {
  min-height: 34px;
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-text);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 126, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 127, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 129, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn.sim-btn--view {
  padding: 6px 16px;
  border-radius: 999px;
}

/* line 131, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn.sim-btn--icon {
  width: 34px;
  border-radius: 10px;
  color: var(--nv-muted);
}

/* line 136, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn.sim-btn--icon:hover {
  color: var(--nv-text);
}

/* line 139, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-btn.sim-btn--delete:hover {
  border-color: rgba(248, 113, 113, 0.4);
  color: var(--nv-down);
}

/* line 143, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-pagination .page-item .page-link,
body .simulations-page.simulations-index .sim-pagination a, body .simulations-page.simulations-index .sim-pagination span {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 150, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-pagination .page-item.active .page-link,
body .simulations-page.simulations-index .sim-pagination em, body .simulations-page.simulations-index .sim-pagination .current {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 159, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-empty {
  margin: 0.5rem auto 0;
  max-width: 560px;
  border-radius: var(--nv-radius);
  border: 1px solid var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 169, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-empty h4 {
  font-weight: 700;
  color: var(--nv-text);
}

/* line 170, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-empty p {
  color: var(--nv-muted);
}

/* line 173, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulations-index .sim-empty-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 1.3rem;
}

/* line 189, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-step {
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-text);
}

/* line 197, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .step-header {
  border-bottom-color: var(--nv-border);
  flex-wrap: wrap;
}

/* line 201, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .step-header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--nv-text);
}

/* line 211, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .step-number {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
  font-size: 0.9rem;
}

/* line 222, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator #event-count-badge {
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft) !important;
  color: var(--nv-gold-light);
  font-weight: 600;
}

/* line 232, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-card {
  border: 1px solid var(--nv-border);
  border-radius: 14px;
  background: var(--nv-inset);
  color: var(--nv-text);
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

/* line 239, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-card:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
}

/* line 241, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-card.selected {
  border-color: var(--nv-gold);
  background: radial-gradient(110% 120% at 50% 0%, rgba(204, 144, 60, 0.16) 0%, rgba(204, 144, 60, 0) 60%), var(--nv-inset);
  box-shadow: inset 0 0 0 1px var(--nv-gold), 0 10px 26px rgba(204, 144, 60, 0.12);
}

/* line 249, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-card.locked, body .simulations-page.mega-simulator .mode-card.locked:hover {
  border-color: var(--nv-border);
  background: var(--nv-inset);
}

/* line 253, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-icon {
  border-radius: 13px;
}

/* line 254, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-name {
  color: var(--nv-text);
}

/* line 255, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-desc {
  color: var(--nv-muted);
}

/* line 257, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .mode-lock-badge {
  border-radius: 999px;
  background: linear-gradient(135deg, #e0bc8a 0%, #cc903c 60%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 2px 8px rgba(204, 144, 60, 0.3);
}

/* line 265, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .summary-card {
  border: 1px solid var(--nv-border) !important;
  border-radius: 14px;
  background: var(--nv-inset) !important;
  box-shadow: none !important;
}

/* line 271, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .summary-card::before {
  display: none;
}

/* line 273, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .summary-card .card-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 11px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  box-shadow: none;
}

/* line 284, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .summary-card .card-icon i {
  font-size: 1rem !important;
  color: var(--nv-gold);
}

/* line 287, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .summary-card .card-content h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--nv-text);
}

/* line 293, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .summary-card .form-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nv-muted);
}

/* line 300, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .form-control {
  border-radius: var(--nv-radius-sm);
  border-color: var(--nv-border);
  background-color: var(--nv-input);
  color: var(--nv-text);
}

/* line 306, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .form-control::placeholder {
  color: var(--nv-faint);
}

/* line 307, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-form .form-control:focus {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 310, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-holdings-section {
  border-color: var(--nv-border);
  border-radius: 14px;
  background: var(--nv-inset);
}

/* line 315, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-holdings-section h5 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--nv-text);
}

/* line 318, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .holding-item {
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-sm);
  background: var(--nv-inset);
}

/* line 323, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .holding-item:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
}

/* line 327, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-category-tabs .nav-link {
  border-color: var(--nv-border);
  border-radius: 999px;
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 333, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-category-tabs .nav-link:hover {
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 335, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-category-tabs .nav-link.active {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-text);
}

/* line 342, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-chip {
  border-color: var(--nv-border);
  border-radius: 12px;
  background: var(--nv-inset);
}

/* line 347, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-chip:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  transform: translateY(-1px);
}

/* line 350, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-chip-icon {
  border-radius: 10px;
}

/* line 351, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-chip-name {
  color: var(--nv-text);
}

/* line 352, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .event-chip-desc {
  color: var(--nv-faint);
}

/* line 354, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .selected-events-section h5 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--nv-text);
}

/* line 356, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .selected-event-item {
  border-color: var(--nv-border);
  border-radius: 12px;
  background: var(--nv-inset);
}

/* line 361, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .selected-event-item .event-badge {
  border-radius: 999px;
}

/* line 362, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .selected-event-item .remove-btn {
  color: var(--nv-faint);
}

/* line 363, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .selected-event-item .remove-btn:hover {
  color: var(--nv-down);
}

/* line 366, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .empty-events-placeholder {
  border: 1px dashed var(--nv-border);
  border-radius: 14px;
}

/* line 370, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .empty-events-placeholder i {
  color: var(--nv-gold);
  opacity: 0.8;
}

/* line 374, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-step.submit-section {
  border-color: var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
}

/* line 381, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .simulation-summary {
  border: 1px solid var(--nv-border-gold);
  border-radius: 12px !important;
}

/* line 383, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator #submit-simulation {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
  transition: transform 0.15s ease, background 0.15s ease;
}

/* line 392, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator #submit-simulation:hover:not(:disabled) {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
  transform: translateY(-1px);
}

/* line 395, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.mega-simulator .submit-section .btn-secondary:disabled {
  border: 1px solid var(--nv-border);
  border-radius: 999px;
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 407, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .pro-card,
body .simulations-page.simulation-show-pro .chart-card-pro {
  border-color: var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 414, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .pro-card:hover,
body .simulations-page.simulation-show-pro .chart-card-pro:hover {
  border-color: var(--nv-border-gold);
  box-shadow: var(--nv-shadow);
}

/* line 417, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .pro-card .pro-card-header,
body .simulations-page.simulation-show-pro .chart-card-pro .chart-header {
  border-bottom-color: var(--nv-border);
  background: linear-gradient(90deg, rgba(204, 144, 60, 0.09) 0%, rgba(204, 144, 60, 0) 70%);
}

/* line 422, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .pro-card .pro-card-header h5,
body .simulations-page.simulation-show-pro .chart-card-pro .chart-header h5 {
  color: var(--nv-text);
}

/* line 423, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .pro-card .pro-card-header h5 i,
body .simulations-page.simulation-show-pro .chart-card-pro .chart-header h5 i {
  color: var(--nv-gold);
}

/* line 426, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .pro-card .pro-card-header .header-badge {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 432, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .executive-summary .metric-card {
  border-radius: 14px;
  box-shadow: var(--nv-shadow);
}

/* line 439, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .events-timeline-section > .card,
body .simulations-page.simulation-show-pro .risk-metrics-section > .card {
  padding: 0;
  border: 1px solid var(--nv-border) !important;
  border-radius: var(--nv-radius);
  background: var(--nv-surface) !important;
  box-shadow: var(--nv-shadow);
}

/* line 447, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .events-timeline-section > .card > .card-body,
body .simulations-page.simulation-show-pro .risk-metrics-section > .card > .card-body {
  padding: 1.1rem 1.25rem;
  background: transparent;
}

/* line 450, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .events-timeline-section .badge.bg-primary {
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  background: var(--nv-gold-soft) !important;
  color: var(--nv-gold-light);
}

/* line 457, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page.simulation-show-pro .risk-metric-item {
  border-radius: 12px !important;
}

/* line 464, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page .simulation-gate .demo-preview-wrapper {
  border-color: var(--nv-border);
  border-radius: 18px;
  box-shadow: var(--nv-shadow);
}

/* line 470, app/assets/stylesheets/charte_pages/_simulations.scss */
body .simulations-page .simulation-gate .premium-gate-cta-card {
  border: 1px solid var(--nv-border-gold);
  border-radius: 18px;
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 15, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .text-primary {
  color: var(--nv-gold-light) !important;
}

/* line 20, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-count,
body .graph-analyses-page .ga-quota {
  border-radius: 999px;
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 28, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-mobile-cta .btn-primary {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 37, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-search-icon {
  color: var(--nv-faint);
}

/* line 39, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-search-input {
  border-radius: 14px;
  border-color: var(--nv-border);
  background: var(--nv-input);
  color: var(--nv-text);
  box-shadow: var(--nv-shadow);
}

/* line 46, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-search-input::placeholder {
  color: var(--nv-faint);
}

/* line 47, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-search-input:focus {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 50, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-search-clear {
  color: var(--nv-muted);
}

/* line 52, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-chip {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 57, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-chip:hover {
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 59, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-chip.is-active {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 67, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-card {
  border-top: 1px solid var(--nv-border);
  border-right: 1px solid var(--nv-border);
  border-bottom: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  transition: border-color 0.18s ease;
}

/* line 76, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-card:hover {
  border-top-color: var(--nv-border-gold);
  border-right-color: var(--nv-border-gold);
  border-bottom-color: var(--nv-border-gold);
}

/* line 78, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-card.is-unseen {
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.11) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.16), var(--nv-shadow);
}

/* line 86, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-symbol,
body .graph-analyses-page .ga-status,
body .graph-analyses-page .ga-verdict {
  border-radius: 999px;
}

/* line 90, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-symbol {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 96, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-status:not(.ga-status--completed):not(.ga-status--failed):not(.ga-status--rejected) {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 102, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-card-title {
  font-weight: 600;
  color: var(--nv-text);
}

/* line 107, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-metric dt,
body .graph-analyses-page .ga-time {
  color: var(--nv-faint);
}

/* line 110, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-metric dd:not([class*="risk-"]) {
  color: var(--nv-text);
}

/* line 112, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-state:not(.ga-state--error):not(.ga-state--warn) {
  color: var(--nv-muted);
}

/* line 114, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-card-foot {
  border-top-color: var(--nv-border);
}

/* line 116, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-btn {
  min-height: 34px;
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-text);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 123, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-btn:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 124, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-btn:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 126, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-btn.ga-btn--view {
  padding: 6px 16px;
  border-radius: 999px;
}

/* line 128, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-btn.ga-btn--delete {
  width: 34px;
  border-radius: 10px;
  color: var(--nv-muted);
}

/* line 133, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-btn.ga-btn--delete:hover {
  border-color: rgba(248, 113, 113, 0.4);
  color: var(--nv-down);
}

/* line 138, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-pagination .page-item .page-link,
body .graph-analyses-page .ga-pagination a, body .graph-analyses-page .ga-pagination span {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 145, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-pagination .page-item.active .page-link,
body .graph-analyses-page .ga-pagination em, body .graph-analyses-page .ga-pagination .current {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 154, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-empty {
  margin: 0.5rem auto 0;
  max-width: 560px;
  border-radius: var(--nv-radius);
  border: 1px solid var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 164, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-empty h4 {
  font-weight: 700;
  color: var(--nv-text);
}

/* line 165, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-empty p {
  color: var(--nv-muted);
}

/* line 168, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .ga-empty-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 1.3rem;
}

/* line 182, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-step {
  border-color: var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-text);
}

/* line 189, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-step .step-header {
  border-bottom-color: var(--nv-border);
  flex-wrap: wrap;
}

/* line 193, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-step .step-header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--nv-text);
}

/* line 201, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-step .step-header .badge {
  border-radius: 999px;
}

/* line 205, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-step .step-number {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
  font-size: 0.9rem;
}

/* line 217, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .upload-zone {
  border: 1.5px dashed var(--nv-border-gold);
  border-radius: var(--nv-radius);
  background: radial-gradient(70% 90% at 50% 0%, rgba(204, 144, 60, 0.08) 0%, rgba(204, 144, 60, 0) 60%), var(--nv-inset);
}

/* line 224, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .upload-zone:hover, body .graph-analyses-page.graph-analysis-new .upload-zone.drag-over {
  border-color: var(--nv-gold);
  background-color: var(--nv-inset-hover);
}

/* line 227, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .upload-zone h4 {
  color: var(--nv-text);
}

/* line 229, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .upload-zone .btn-outline-primary {
  border-radius: 999px;
}

/* line 232, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .screenshot-tips-card {
  border-color: var(--nv-border-gold);
  border-radius: var(--nv-radius);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 240, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .screenshot-tips-card .tips-header {
  border-bottom-color: var(--nv-border);
  color: var(--nv-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 249, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .screenshot-tips-card .tip-item strong {
  color: var(--nv-text);
}

/* line 250, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .screenshot-tips-card .tip-item p {
  color: var(--nv-muted);
}

/* line 254, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .graph-analysis-form .form-label {
  color: var(--nv-text);
}

/* line 256, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .graph-analysis-form .form-control {
  border-radius: var(--nv-radius-sm);
  border-color: var(--nv-border);
  background-color: var(--nv-input);
  color: var(--nv-text);
}

/* line 262, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .graph-analysis-form .form-control::placeholder {
  color: var(--nv-faint);
}

/* line 263, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .graph-analysis-form .form-control:focus {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 266, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .graph-analysis-form .input-group-text {
  border-color: var(--nv-border);
  border-radius: var(--nv-radius-sm) 0 0 var(--nv-radius-sm);
  background: var(--nv-inset);
  color: var(--nv-gold-light);
}

/* line 273, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .graph-analysis-form .input-group > .form-control:not(:first-child) {
  border-radius: 0 var(--nv-radius-sm) var(--nv-radius-sm) 0;
}

/* line 277, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .position-type-selector .position-option .position-card {
  border-radius: 14px;
}

/* line 279, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-step.submit-section {
  border-color: var(--nv-border-gold);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
}

/* line 286, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .analysis-info {
  border: 1px solid var(--nv-border-gold);
  border-radius: 12px !important;
}

/* line 288, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new #submit-analysis {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
  transition: transform 0.15s ease, background 0.15s ease;
}

/* line 297, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new #submit-analysis:hover:not(:disabled) {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
  transform: translateY(-1px);
}

/* line 300, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-new .submit-section .btn-secondary:disabled {
  border: 1px solid var(--nv-border);
  border-radius: 999px;
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 311, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .analysis-hero-section {
  border-color: var(--nv-border-gold);
  border-radius: 18px;
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 320, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .chart-visual-analysis-wrapper {
  border-color: var(--nv-border);
  border-radius: 14px;
}

/* line 324, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .chart-visual-analysis-wrapper .chart-visual-header {
  border-bottom-color: var(--nv-border);
}

/* line 325, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .chart-visual-analysis-wrapper .chart-visual-title {
  color: var(--nv-text);
}

/* line 326, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .chart-visual-analysis-wrapper .chart-visual-title i {
  color: var(--nv-gold);
}

/* line 327, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .chart-visual-analysis-wrapper .beta-badge {
  border-radius: 999px;
}

/* line 331, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .result-card {
  padding: 1rem 1.1rem;
  border-top-color: var(--nv-border);
  border-right-color: var(--nv-border);
  border-bottom-color: var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-text);
}

/* line 341, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .result-card:not(.trading-rec-card):not(.risk-assessment-card):not(.educational-card) {
  border-left-color: var(--nv-border);
}

/* line 345, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .result-card .card-header-mini,
body .graph-analyses-page.graph-analysis-show .hero-summary-block .summary-header {
  gap: 0.45rem;
  border-bottom-color: var(--nv-border);
  color: var(--nv-gold);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 355, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .result-card .card-header-mini i,
body .graph-analyses-page.graph-analysis-show .hero-summary-block .summary-header i {
  font-size: 0.8rem;
  color: var(--nv-gold);
}

/* line 358, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .hero-summary-block {
  border: 1px solid var(--nv-border);
  border-radius: 12px;
  background: var(--nv-inset);
}

/* line 363, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .hero-summary-block .summary-text p {
  color: var(--nv-text);
}

/* line 366, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .signal-conviction-rr-row .compact-stat,
body .graph-analyses-page.graph-analysis-show .compact-stats-row .compact-stat {
  border-radius: 12px;
}

/* line 369, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page.graph-analysis-show .position-type-banner {
  border-radius: 12px;
}

/* line 376, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .graph-gate .demo-preview-wrapper {
  border-color: var(--nv-border);
  border-radius: 18px;
  box-shadow: var(--nv-shadow);
}

/* line 382, app/assets/stylesheets/charte_pages/_graph_analyses.scss */
body .graph-analyses-page .graph-gate .premium-gate-cta-card {
  border: 1px solid var(--nv-border-gold);
  border-radius: 18px;
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 46%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 14, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-title {
  gap: 0.65rem;
  color: var(--nv-text);
}

/* line 18, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-title > i {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 0.82rem;
}

/* line 31, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-subtitle {
  color: var(--nv-muted);
  font-weight: 500;
}

/* line 34, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-beta-notice {
  border-color: var(--nv-border-gold);
  border-radius: 12px;
  background: var(--nv-gold-soft);
  color: var(--nv-muted);
}

/* line 40, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-beta-notice i, .stock-analysis-page.dashboard-container .sa-beta-notice strong {
  color: var(--nv-gold-light);
}

/* line 45, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-toolbar {
  z-index: 3;
  margin: 1.25rem 2rem 1.75rem;
  padding: 1.25rem 1.35rem;
  gap: 1rem;
}

/* line 52, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-search-wrapper .sa-search-input {
  min-height: 48px;
  padding: 0.8rem 1rem 0.8rem 2.85rem;
  border-radius: 14px;
  backdrop-filter: none;
}

/* line 61, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-search-wrapper .sa-search-icon {
  z-index: 1;
  color: var(--nv-gold);
}

/* line 66, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-search-results {
  border-color: var(--nv-border-gold);
  border-radius: 14px;
  background: var(--nv-surface-flat);
  box-shadow: 0 20px 50px rgba(0, 6, 21, 0.45);
}

/* line 73, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-search-result-name {
  color: var(--nv-text);
}

/* line 75, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-facet-title {
  color: var(--nv-faint);
}

/* line 77, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-facet-chip {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 82, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-facet-chip:hover {
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 84, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-facet-chip.is-active {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 90, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-facet-chip.is-muted {
  border-color: var(--nv-border);
  background: transparent;
  color: var(--nv-faint);
}

/* line 94, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-top-pick-card,
.stock-analysis-page.dashboard-container .sa-card {
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  color: var(--nv-text);
}

/* line 103, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-top-pick-card {
  border-color: var(--nv-border-gold);
  background: radial-gradient(110% 140% at 0% 0%, rgba(204, 144, 60, 0.1) 0%, rgba(204, 144, 60, 0) 50%), var(--nv-surface);
}

/* line 109, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-top-pick-card:hover {
  border-color: rgba(204, 144, 60, 0.45);
  box-shadow: var(--nv-shadow), 0 10px 26px rgba(204, 144, 60, 0.1);
}

/* line 112, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-card:hover {
  border-color: var(--nv-border-gold);
  box-shadow: var(--nv-shadow), 0 16px 40px rgba(204, 144, 60, 0.1);
}

/* line 114, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-card-sector {
  background: var(--nv-inset);
  border: 1px solid var(--nv-border);
  color: var(--nv-muted);
}

/* line 115, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-card-footer {
  border-top-color: var(--nv-border);
}

/* line 117, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .stock-logo {
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 120, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .dashboard-header .header-left > .nv-icon-btn {
  flex-shrink: 0;
}

/* line 123, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip {
  margin: 0.25rem 1.5rem 1.1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 131, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip .company-profile-name {
  font-size: 0.98rem;
  color: var(--nv-text);
}

/* line 132, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip .company-profile-meta {
  color: var(--nv-muted);
}

/* line 134, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip .company-profile-meta .company-profile-sector,
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip .company-profile-meta .company-profile-cap {
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 140, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip .company-profile-text {
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--nv-muted);
}

/* line 141, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip .company-profile-more {
  color: var(--nv-gold-light);
}

/* line 146, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-toc a {
  color: var(--nv-faint);
}

/* line 147, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-toc a:hover {
  color: var(--nv-text);
  border-left-color: var(--nv-border-gold);
}

/* line 148, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-toc a.active {
  color: var(--nv-gold-light);
  border-left-color: var(--nv-gold);
}

/* line 151, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-toc-help {
  border-color: var(--nv-border-gold);
  border-radius: 10px;
  background: var(--nv-gold-soft);
  color: var(--nv-muted);
}

/* line 159, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-content-inner > .sa-section {
  margin: 0 0 1rem;
  padding: 1.35rem 1.5rem 1.5rem;
}

/* line 164, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-content-inner .sa-section-title {
  font-size: 1rem;
  letter-spacing: 0.03em;
  margin-bottom: 1.1rem;
}

/* line 172, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-kpi-pill,
.stock-analysis-page.dashboard-container .sa-analyst-inline,
.stock-analysis-page.dashboard-container .sa-scenario-card,
.stock-analysis-page.dashboard-container .sa-method-badge,
.stock-analysis-page.dashboard-container .sa-vh-badge,
.stock-analysis-page.dashboard-container .sa-valuation-chart-container,
.stock-analysis-page.dashboard-container .sa-score-card-compact,
.stock-analysis-page.dashboard-container .sa-yield-item,
.stock-analysis-page.dashboard-container .sa-kpi-card,
.stock-analysis-page.dashboard-container .sa-chart-panel,
.stock-analysis-page.dashboard-container .sa-company-badges .sa-badge,
.stock-analysis-page.dashboard-container .sa-peer-chip {
  border-color: var(--nv-border);
  background: var(--nv-inset);
}

/* line 188, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-kpi-pill,
.stock-analysis-page.dashboard-container .sa-analyst-inline,
.stock-analysis-page.dashboard-container .sa-method-badge,
.stock-analysis-page.dashboard-container .sa-yield-item {
  border-radius: 12px;
}

/* line 193, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-scenario-card,
.stock-analysis-page.dashboard-container .sa-valuation-chart-container,
.stock-analysis-page.dashboard-container .sa-score-card-compact,
.stock-analysis-page.dashboard-container .sa-kpi-card,
.stock-analysis-page.dashboard-container .sa-chart-panel {
  border-radius: 14px;
}

/* line 199, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-kpi-card:hover {
  border-color: var(--nv-border-gold);
  box-shadow: none;
}

/* line 202, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-scenario-primary {
  border-color: rgba(59, 130, 246, 0.4);
  background: var(--nv-surface);
}

/* line 203, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-method-badge.sa-method-analyst {
  border-left-color: #cc903c;
}

/* line 205, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-kpi-pill-value,
.stock-analysis-page.dashboard-container .sa-analyst-inline-value,
.stock-analysis-page.dashboard-container .sa-scenario-price,
.stock-analysis-page.dashboard-container .sa-kpi-value,
.stock-analysis-page.dashboard-container .sa-yield-value,
.stock-analysis-page.dashboard-container .sa-valuation-item-value,
.stock-analysis-page.dashboard-container .sa-health-metric-value,
.stock-analysis-page.dashboard-container .sa-chart-panel h4 {
  color: var(--nv-text);
}

/* line 214, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-valuation-item,
.stock-analysis-page.dashboard-container .sa-health-metric {
  border-bottom-color: var(--nv-border);
}

/* line 217, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-peer-chip {
  color: var(--nv-text) !important;
}

/* line 220, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-peer-chip:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light) !important;
}

/* line 227, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-currency-banner p {
  color: var(--nv-muted);
}

/* line 231, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .reasoning-block {
  border-radius: 12px;
}

/* line 234, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .reasoning-block .reasoning-text {
  color: var(--nv-text);
}

/* line 238, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .reasoning-block:not(.daily):not(.disagreement) {
  border-color: var(--nv-border);
  background: var(--nv-inset);
}

/* line 243, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .reasoning-block.disagreement .disagreement-reasoning .reasoning-text {
  color: var(--nv-muted);
}

/* line 245, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .complementary-info-section {
  border-top-color: var(--nv-border);
}

/* line 250, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .complementary-info-section .section-title {
  font-size: 0.7rem !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--nv-gold);
}

/* line 257, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .complementary-info-section .info-block {
  border-radius: 12px;
  background: var(--nv-inset);
}

/* line 261, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-section-ai .complementary-info-section .info-block .block-content {
  color: var(--nv-text);
}

/* line 268, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-loading-overlay,
.stock-analysis-page.dashboard-container .sa-empty-analysis {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

/* line 271, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-loading-card,
.stock-analysis-page.dashboard-container .sa-empty-analysis {
  border-radius: 18px;
  background: radial-gradient(90% 120% at 50% 0%, rgba(204, 144, 60, 0.12) 0%, rgba(204, 144, 60, 0) 55%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 280, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-loading-card {
  border-color: var(--nv-border-gold);
}

/* line 281, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-empty-analysis {
  border-color: var(--nv-border-gold);
}

/* line 283, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-loading-title,
.stock-analysis-page.dashboard-container .sa-empty-analysis h2 {
  color: var(--nv-text);
}

/* line 286, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-loading-message,
.stock-analysis-page.dashboard-container .sa-empty-analysis p {
  color: var(--nv-muted);
}

/* line 289, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-btn-primary {
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 295, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
.stock-analysis-page.dashboard-container .sa-btn-primary:hover {
  color: #111825;
  box-shadow: 0 10px 24px rgba(204, 144, 60, 0.32);
}

@media (max-width: 767.98px) {
  /* line 302, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-beta-notice {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  /* line 307, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-toolbar {
    margin: 1rem 0.5rem 1.25rem;
    padding: 1rem;
  }
  /* line 309, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container > .sa-section {
    padding: 1.5rem 0.5rem 1.25rem;
  }
  /* line 310, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-section-subtitle {
    margin-left: 0;
  }
  /* line 312, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-loading-overlay,
.stock-analysis-page.dashboard-container .sa-empty-analysis {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  /* line 315, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-content-inner {
    padding: 0 0.5rem;
  }
  /* line 316, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-content-inner > .sa-section {
    padding: 1.1rem 1rem 1.15rem;
  }
  /* line 318, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .company-profile-card.company-profile-strip {
    margin: 0.25rem 0.5rem 1rem;
  }
  /* line 320, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-footer-info {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  /* line 322, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-facets {
    border-color: var(--nv-border);
    background: var(--nv-inset);
  }
  /* line 323, app/assets/stylesheets/charte_pages/_stock_analysis.scss */
  .stock-analysis-page.dashboard-container .sa-facet-row {
    border-bottom-color: var(--nv-border);
  }
}

/* line 23, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .message.user .message-content,
.chatbot-widget-container .message.user .message-content {
  border: 0;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.22);
}

/* line 30, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .message.assistant:not(.error) .message-content,
.chatbot-widget-container .message.assistant:not(.error) .message-content {
  border: 1px solid var(--nv-border);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
  box-shadow: none;
}

/* line 37, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .message-time,
.chatbot-widget-container .message-time {
  color: var(--nv-faint);
}

/* line 39, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .welcome-message,
.chatbot-widget-container .welcome-message {
  border: 1px solid var(--nv-border-gold);
  border-radius: var(--nv-radius);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 50%), var(--nv-inset);
  box-shadow: none;
  color: var(--nv-text);
}

/* line 46, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .welcome-message p,
.chatbot-widget-container .welcome-message p {
  color: var(--nv-text);
}

/* line 47, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .welcome-message p:first-child,
.chatbot-widget-container .welcome-message p:first-child {
  font-weight: 600;
}

/* line 48, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .welcome-message p:last-child,
.chatbot-widget-container .welcome-message p:last-child {
  margin-bottom: 0;
  color: var(--nv-muted);
}

/* line 49, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .welcome-message ul,
.chatbot-widget-container .welcome-message ul {
  color: var(--nv-muted);
}

/* line 50, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .welcome-message li::marker,
.chatbot-widget-container .welcome-message li::marker {
  color: var(--nv-gold);
}

/* line 56, app/assets/stylesheets/charte_pages/_chatbot.scss */
body .chatbot-container {
  background: none;
}

/* line 59, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-header h1 {
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--nv-text);
}

/* line 66, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-header h1 > i {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 0.85rem;
  border-radius: 15px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 1.3rem;
}

/* line 80, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-header p {
  color: var(--nv-muted);
}

/* line 84, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-info .badge {
  --bs-info-rgb: 204, 144, 60;
  --bs-bg-opacity: 0.12;
  padding: 0.4rem 0.85rem;
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  color: var(--nv-gold-light);
  font-size: 0.78rem;
  font-weight: 600;
}

/* line 95, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-wrapper {
  overflow: hidden;
  border: 1px solid var(--nv-border-gold);
  border-radius: 18px;
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 50%), var(--nv-surface);
  box-shadow: var(--nv-shadow);
}

/* line 103, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-messages {
  padding: 24px;
  background: transparent;
}

/* line 109, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .message.user .message-content,
.chatbot-container .message.assistant .message-content {
  max-width: 100%;
}

/* line 112, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container .chatbot-input-wrapper {
  border-top: 1px solid var(--nv-border);
  border-radius: 0;
  background: rgba(0, 6, 21, 0.28);
}

/* line 120, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #chatbot-input {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  min-height: 48px;
  padding: 0.7rem 1.25rem;
  border: 1px solid var(--nv-border);
  border-radius: 999px;
  background-color: var(--nv-input);
  color: var(--nv-text);
}

/* line 131, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #chatbot-input::placeholder {
  color: var(--nv-faint);
}

/* line 133, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #chatbot-input:focus {
  border-color: var(--nv-gold);
  background-color: var(--nv-input);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 139, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #chatbot-input:disabled {
  opacity: 0.55;
}

/* line 142, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #send-button {
  flex: 0 0 auto;
  width: auto;
  min-height: 48px;
  margin: 0;
  padding: 0 1.35rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25);
}

/* line 155, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #send-button:hover:not(:disabled) {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
}

/* line 156, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-container #send-button:disabled {
  opacity: 0.55;
  box-shadow: none;
}

/* line 163, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-toggle-btn {
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 12px 30px rgba(0, 6, 21, 0.45), 0 0 24px rgba(204, 144, 60, 0.25);
}

/* line 171, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-toggle-btn .chatbot-badge {
  background: #ef4444 !important;
  color: #f7f6f4 !important;
}

/* line 176, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-toggle-btn .chatbot-badge.badge-locked {
  border: 1px solid var(--nv-border-gold);
  background: #111825 !important;
  color: #e0bc8a !important;
}

/* line 182, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-window {
  border-color: var(--nv-border-gold);
  border-radius: 18px;
  background: var(--nv-surface);
  box-shadow: 0 24px 60px rgba(0, 6, 21, 0.55);
}

/* line 189, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-window-header {
  border-bottom: 1px solid var(--nv-border);
  background: radial-gradient(120% 180% at 0% 0%, rgba(204, 144, 60, 0.18) 0%, rgba(204, 144, 60, 0) 55%);
  color: var(--nv-text);
}

/* line 194, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-window-header::before {
  display: none;
}

/* line 197, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-window-title {
  gap: 10px;
  font-weight: 700;
}

/* line 201, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-window-title > i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 15px;
}

/* line 214, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-window-title .badge {
  --bs-info-rgb: 204, 144, 60;
  --bs-warning-rgb: 204, 144, 60;
  --bs-bg-opacity: 0.12;
  border: 1px solid var(--nv-border-gold);
  border-radius: 999px;
  color: var(--nv-gold-light);
  backdrop-filter: none;
}

/* line 225, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-close-btn {
  border: 1px solid var(--nv-border);
  border-radius: 12px;
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 17px;
}

/* line 232, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-close-btn:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 239, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-messages {
  background: transparent;
}

/* line 240, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-messages::-webkit-scrollbar-track {
  background: transparent;
}

/* line 241, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-messages::-webkit-scrollbar-thumb {
  background: rgba(204, 144, 60, 0.35);
}

/* line 243, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .loading-indicator,
.chatbot-widget-container .typing-indicator {
  border-color: var(--nv-border);
  background: var(--nv-inset-hover);
  box-shadow: none;
}

/* line 250, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .loading-text {
  color: var(--nv-text);
}

/* line 252, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .chatbot-input-wrapper {
  border-top-color: var(--nv-border);
  background: rgba(0, 6, 21, 0.28);
}

/* line 257, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container textarea.chatbot-input {
  border-color: var(--nv-border);
  background: var(--nv-input);
  color: var(--nv-text);
}

/* line 262, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container textarea.chatbot-input:focus {
  border-color: rgba(204, 144, 60, 0.55);
  background: var(--nv-input);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.16);
}

/* line 269, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container button.chatbot-send-btn {
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
}

/* line 273, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container button.chatbot-send-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
}

/* line 274, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container button.chatbot-send-btn:active:not(:disabled) {
  background: #b47a2c;
}

/* line 279, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .system-action-btn:not(.system-action-btn--tutorial) {
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 16px rgba(204, 144, 60, 0.25);
}

/* line 284, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .system-action-btn:not(.system-action-btn--tutorial):hover:not(:disabled) {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%);
  box-shadow: 0 8px 20px rgba(204, 144, 60, 0.32);
}

/* line 291, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .upgrade-notice {
  border-color: var(--nv-border-gold);
  border-radius: var(--nv-radius);
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.13) 0%, rgba(204, 144, 60, 0) 50%), var(--nv-inset);
  box-shadow: none;
}

/* line 297, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .upgrade-notice > i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: 0 auto 14px;
  border-radius: 13px;
  background: var(--nv-gold-soft);
  font-size: 18px;
}

/* line 308, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .upgrade-notice p {
  color: var(--nv-muted);
}

/* line 311, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .upgrade-prompt {
  border-color: var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
}

/* line 317, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .upgrade-notice .upgrade-btn,
.chatbot-widget-container .upgrade-prompt .upgrade-link {
  border-radius: 999px;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
  box-shadow: 0 6px 16px rgba(204, 144, 60, 0.25);
}

/* line 324, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-widget-container .upgrade-notice .upgrade-btn:hover,
.chatbot-widget-container .upgrade-prompt .upgrade-link:hover {
  color: #111825;
}

@media (max-width: 767px), (max-width: 1024px) and (max-height: 500px) {
  /* line 330, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-widget-container .chatbot-window-header {
    padding-top: 14px;
    padding-top: max(14px, env(safe-area-inset-top));
  }
}

/* line 340, app/assets/stylesheets/charte_pages/_chatbot.scss */
.chatbot-gate .demo-badge.chatbot-badge {
  position: static;
  min-width: 0;
  padding: 0.35rem 0.8rem;
  border-radius: 16px;
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: none;
}

@media (max-width: 767.98px) {
  /* line 356, app/assets/stylesheets/charte_pages/_chatbot.scss */
  body .chatbot-container > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* line 361, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container #send-button {
    min-height: 48px !important;
    padding: 0 1rem !important;
    font-size: 0.86rem !important;
  }
  /* line 367, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container #chatbot-input {
    padding: 0.7rem 1rem;
  }
  /* line 369, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container .chatbot-header h1 {
    font-size: 1.3rem;
  }
  /* line 372, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container .chatbot-header h1 > i {
    display: inline-grid;
    width: 36px;
    height: 36px;
    margin: 0 0.5rem 0 0;
    border-radius: 11px;
    font-size: 1rem;
    vertical-align: middle;
  }
  /* line 383, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container .chatbot-header p {
    font-size: 0.9rem;
  }
  /* line 385, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container .chatbot-wrapper {
    height: calc(100vh - 320px);
    height: calc(100dvh - 320px);
    min-height: 340px;
  }
  /* line 391, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container .chatbot-messages {
    padding: 16px 12px;
  }
  /* line 392, app/assets/stylesheets/charte_pages/_chatbot.scss */
  .chatbot-container .chatbot-input-wrapper {
    padding: 12px;
  }
}

/* line 30, app/assets/stylesheets/charte_pages/_modals.scss */
body #shareQuantityModal.nv-modal {
  background-color: rgba(0, 6, 21, 0.72) !important;
  backdrop-filter: blur(4px);
}

/* line 37, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog:not(.modal-lg) {
  max-width: 560px;
}

/* line 39, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content {
  overflow: hidden;
  border-radius: 20px !important;
  border: 1px solid var(--nv-border-gold) !important;
  background: radial-gradient(90% 60% at 0% 0%, rgba(204, 144, 60, 0.12) 0%, rgba(204, 144, 60, 0) 50%), var(--nv-surface) !important;
  box-shadow: 0 30px 80px rgba(0, 6, 21, 0.55) !important;
  color: var(--nv-text) !important;
}

/* line 48, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header {
  align-items: center;
  gap: 0.75rem;
  padding: 1.1rem 1.25rem 0.9rem !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--nv-border) !important;
  background: transparent !important;
}

/* line 56, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .modal-title {
  margin: 0.2rem 0 0;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--nv-text) !important;
}

/* line 64, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .modal-title i {
  color: var(--nv-gold) !important;
}

/* line 66, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .modal-title i.fa-shopping-cart[style] {
  color: var(--nv-up) !important;
}

/* line 67, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .modal-title i.fa-hand-holding-usd {
  color: var(--nv-down) !important;
}

/* line 68, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .modal-title .asset-type-badge i {
  color: inherit !important;
}

/* line 71, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .btn-close {
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 34px;
  height: 34px;
  margin: 0 0 0 auto;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset) none !important;
  opacity: 1;
  filter: none !important;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

/* line 87, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .btn-close::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  background-color: var(--nv-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 3.5l9 9m0-9l-9 9' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 3.5l9 9m0-9l-9 9' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: background-color 0.15s ease;
}

/* line 100, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .btn-close:hover {
  border-color: var(--nv-border-gold);
  background-color: var(--nv-inset-hover) !important;
}

/* line 101, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .btn-close:hover::before {
  background-color: var(--nv-text);
}

/* line 102, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .btn-close:focus {
  box-shadow: none;
}

/* line 103, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-header .btn-close:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 107, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-body {
  padding: 1.1rem 1.25rem 1.25rem !important;
  background: transparent !important;
  color: var(--nv-text) !important;
}

/* line 112, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-body p {
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--nv-text) !important;
}

/* line 113, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-body p.text-muted {
  color: var(--nv-muted) !important;
}

/* line 117, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-label {
  margin-bottom: 0.45rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--nv-text) !important;
}

/* line 123, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-label > i, body .nv-modal .modal-dialog .modal-content .form-label .currency-icon {
  color: var(--nv-gold);
}

/* line 124, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-label .text-muted {
  font-weight: 500;
  color: var(--nv-faint) !important;
}

/* line 127, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-control {
  min-height: 44px;
  border-radius: var(--nv-radius-sm);
  border: 1px solid var(--nv-border) !important;
  background-color: var(--nv-input) !important;
  color: var(--nv-text) !important;
  font-size: 0.95rem;
  box-shadow: none !important;
}

/* line 136, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-control::placeholder {
  color: var(--nv-faint) !important;
}

/* line 137, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-control:focus {
  border-color: var(--nv-gold) !important;
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18) !important;
  outline: none;
}

/* line 138, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-control.is-invalid {
  border-color: rgba(248, 113, 113, 0.65) !important;
}

/* line 139, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-control.is-invalid:focus {
  box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.16) !important;
}

/* line 140, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-control:disabled {
  opacity: 0.6;
}

/* line 144, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .input-group .input-group-text {
  justify-content: center;
  min-width: 44px;
  border: 1px solid var(--nv-border) !important;
  border-radius: var(--nv-radius-sm) 0 0 var(--nv-radius-sm);
  background: var(--nv-gold-soft) !important;
  color: var(--nv-gold-light) !important;
  font-weight: 700;
}

/* line 154, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .input-group > .form-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* line 157, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .form-text {
  margin-top: 0.4rem;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--nv-muted);
}

/* line 164, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .invalid-feedback {
  color: var(--nv-down);
  font-size: 0.8rem;
}

/* line 166, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .position-value-modal,
body .nv-modal .modal-dialog .modal-content .form-text.text-warning-subtle,
body .nv-modal .modal-dialog .modal-content .total-value-display {
  border-radius: 12px !important;
}

/* line 172, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .position-value-modal {
  padding: 0.55rem 0.8rem;
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
}

/* line 179, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-info-display {
  padding: 0.75rem 0.9rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 185, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-info-display .stock-name-display {
  font-weight: 600;
  color: var(--nv-text);
}

/* line 186, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-info-display .current-price-display {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
}

/* line 187, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-info-display .shares-owned-display {
  margin-top: 0.2rem;
  color: var(--nv-muted) !important;
}

/* line 188, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-info-display .shares-owned-display i {
  color: var(--nv-gold);
}

/* line 191, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-symbol-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  vertical-align: middle;
}

/* line 204, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .stock-symbol-badge:empty {
  display: none;
}

/* line 208, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .alert {
  border-radius: 12px;
  font-size: 0.88rem;
  line-height: 1.5;
  box-shadow: none !important;
}

/* line 216, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .portfolio-history-placeholder > .rounded {
  border: 1px solid var(--nv-border);
  border-radius: 12px !important;
  background: var(--nv-inset) !important;
}

/* line 222, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .alert-warning {
  border: 1px solid var(--nv-border-gold) !important;
  background: var(--nv-gold-soft) !important;
  color: var(--nv-text) !important;
}

/* line 227, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .alert-warning i {
  color: var(--nv-gold) !important;
}

/* line 228, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .alert-warning strong {
  color: var(--nv-gold-light);
}

/* line 231, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .alert-danger {
  border: 1px solid rgba(248, 113, 113, 0.35) !important;
  background: rgba(248, 113, 113, 0.08) !important;
  color: var(--nv-down) !important;
}

/* line 237, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .alert-success {
  border: 1px solid rgba(34, 197, 94, 0.3) !important;
  background: rgba(34, 197, 94, 0.1) !important;
  color: var(--nv-up) !important;
}

/* line 244, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer {
  gap: 0.5rem;
  padding: 0.9rem 1.25rem 1.1rem !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--nv-border) !important;
  background: var(--nv-surface-flat) !important;
}

/* line 251, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer > * {
  margin: 0;
}

/* line 253, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 42px;
  padding: 0.55rem 1.15rem !important;
  border-radius: 999px !important;
  font-size: 0.88rem;
  font-weight: 600 !important;
  line-height: 1.2;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}

/* line 266, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 267, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn:disabled {
  opacity: 0.55;
  transform: none !important;
  box-shadow: none !important;
}

/* line 270, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-secondary {
  border: 1px solid var(--nv-border) !important;
  background: var(--nv-inset) !important;
  color: var(--nv-text) !important;
  box-shadow: none !important;
}

/* line 276, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-secondary:hover {
  border-color: var(--nv-border-gold) !important;
  background: var(--nv-inset-hover) !important;
  color: var(--nv-text) !important;
}

/* line 279, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-primary,
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-success {
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%) !important;
  color: #111825 !important;
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.25) !important;
}

/* line 286, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-primary:hover:not(:disabled),
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-success:hover:not(:disabled) {
  background: linear-gradient(135deg, #e3ad5d 0%, #d49a45 55%, #bf8434 100%) !important;
  color: #111825 !important;
  transform: translateY(-1px) !important;
}

/* line 289, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-danger {
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, #f87171 0%, #ef4444 55%, #dc2626 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(239, 68, 68, 0.22) !important;
}

/* line 295, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .modal-dialog .modal-content .modal-footer .btn.btn-danger:hover:not(:disabled) {
  background: linear-gradient(135deg, #fb8585 0%, #f25555 55%, #e03434 100%) !important;
  transform: translateY(-1px) !important;
}

/* line 300, app/assets/stylesheets/charte_pages/_modals.scss */
body .nv-modal .nv-modal__heading {
  flex: 1;
  min-width: 0;
}

@media (max-width: 575.98px) {
  /* line 308, app/assets/stylesheets/charte_pages/_modals.scss */
  body .nv-modal .modal-dialog.modal-lg {
    max-width: calc(100% - 1rem);
  }
  /* line 310, app/assets/stylesheets/charte_pages/_modals.scss */
  body .nv-modal .modal-dialog .modal-content {
    border-radius: 16px !important;
  }
  /* line 313, app/assets/stylesheets/charte_pages/_modals.scss */
  body .nv-modal .modal-dialog .modal-content .modal-footer .btn {
    min-height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 318, app/assets/stylesheets/charte_pages/_modals.scss */
  body .nv-modal .modal-dialog .modal-content .modal-footer .btn {
    transition: none !important;
    transform: none !important;
  }
}

/* line 323, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal {
  background: rgba(0, 6, 21, 0.72);
  backdrop-filter: blur(4px);
}

/* line 327, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-content {
  max-width: 640px;
  border-radius: 20px;
  border: 1px solid var(--nv-border-gold) !important;
  background: radial-gradient(90% 60% at 0% 0%, rgba(204, 144, 60, 0.12) 0%, rgba(204, 144, 60, 0) 50%), var(--nv-surface) !important;
  box-shadow: 0 30px 80px rgba(0, 6, 21, 0.55);
  color: var(--nv-text) !important;
}

/* line 336, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-header {
  gap: 0.75rem;
  padding: 1.1rem 1.25rem 0.9rem;
  border-bottom: 1px solid var(--nv-border) !important;
  background: transparent !important;
}

/* line 342, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-header .modal-title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--nv-text) !important;
}

/* line 349, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-header .close-modal {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 0.9rem;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* line 363, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-header .close-modal:hover {
  color: var(--nv-text);
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
}

/* line 364, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-header .close-modal:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 368, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-body {
  padding: 1.1rem 1.25rem 1.35rem;
  background: transparent !important;
}

/* line 372, app/assets/stylesheets/charte_pages/_modals.scss */
body .read-more-modal .modal-body p {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--nv-muted) !important;
}

@media (max-width: 575.98px) {
  /* line 376, app/assets/stylesheets/charte_pages/_modals.scss */
  body .read-more-modal .modal-content {
    border-radius: 16px;
  }
  /* line 377, app/assets/stylesheets/charte_pages/_modals.scss */
  body .read-more-modal .modal-header {
    padding: 1rem 1rem 0.8rem;
  }
  /* line 378, app/assets/stylesheets/charte_pages/_modals.scss */
  body .read-more-modal .modal-header .modal-title {
    font-size: 1rem;
  }
  /* line 379, app/assets/stylesheets/charte_pages/_modals.scss */
  body .read-more-modal .modal-body {
    padding: 1rem;
  }
  /* line 380, app/assets/stylesheets/charte_pages/_modals.scss */
  body .read-more-modal .modal-body p {
    font-size: 0.88rem;
  }
}

/* line 385, app/assets/stylesheets/charte_pages/_modals.scss */
body .watchlist-alert-popover {
  border-radius: 16px;
  border: 1px solid var(--nv-border-gold);
  background: radial-gradient(120% 90% at 0% 0%, rgba(204, 144, 60, 0.12) 0%, rgba(204, 144, 60, 0) 55%), var(--nv-surface);
  box-shadow: 0 18px 48px rgba(0, 6, 21, 0.55);
  color: var(--nv-text);
}

/* line 394, app/assets/stylesheets/charte_pages/_modals.scss */
body .watchlist-alert-popover .alert-option {
  border-bottom-color: var(--nv-border);
}

/* line 395, app/assets/stylesheets/charte_pages/_modals.scss */
body .watchlist-alert-popover .alert-option label {
  color: var(--nv-text);
}

/* line 396, app/assets/stylesheets/charte_pages/_modals.scss */
body .watchlist-alert-popover .alert-sub-input label {
  color: var(--nv-muted);
}

/* line 397, app/assets/stylesheets/charte_pages/_modals.scss */
body .watchlist-alert-popover .alert-status {
  color: var(--nv-gold);
}

/* line 16, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  padding-top: 1.75rem;
  padding-bottom: 2.5rem;
}

/* line 24, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-page > .nv-page-head {
  margin: 0 0 0.25rem;
}

/* line 26, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-title {
  margin-top: 0.35rem;
}

/* line 28, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

@media (min-width: 992px) {
  /* line 35, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-row--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 36, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-row--wide {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}

/* line 41, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 47, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-card__head {
  margin-bottom: 1.1rem;
}

/* line 49, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-card-heading {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 38px;
}

/* line 58, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-card__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 64, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-card__title .nv-pill {
  font-size: 0.72rem;
}

/* line 67, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-card-action {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-height: 38px;
  margin-left: auto;
}

/* line 75, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-card-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.1rem;
}

/* line 81, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-card-foot form {
  margin: 0;
}

/* line 84, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-card-foot--end {
  margin-top: auto;
}

/* line 86, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-form {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin: 0;
}

/* line 94, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-field + .cs-field {
  margin-top: 1rem;
}

/* line 96, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-field {
  width: 100%;
  height: 42px;
  padding: 0 0.85rem;
}

/* line 103, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-mono {
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
}

/* line 105, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-field-group {
  display: flex;
  gap: 0.5rem;
}

/* line 109, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-field-group .nv-field {
  flex: 1 1 auto;
  min-width: 0;
}

/* line 114, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-field-group .nv-icon-btn {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: var(--nv-radius-sm);
}

/* line 122, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hint {
  margin: 0.45rem 0 0;
  font-size: 0.76rem;
  color: var(--nv-faint);
}

/* line 129, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-text {
  margin: 0 0 1rem;
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--nv-muted);
}

/* line 135, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-text strong {
  color: var(--nv-text);
}

/* line 138, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-code {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: rgba(0, 6, 21, 0.55);
}

/* line 145, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-code code {
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.76rem;
  line-height: 1.65;
  color: #cbd5e1;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* line 155, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 1rem 0 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--nv-muted);
}

/* line 164, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-note > i {
  margin-top: 0.22rem;
  color: var(--nv-gold);
}

/* line 169, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-note code {
  padding: 0.1rem 0.4rem;
  border-radius: 6px;
  background: var(--nv-gold-soft);
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.76rem;
  color: var(--nv-gold-light);
}

/* line 179, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.75rem 0.95rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  font-size: 0.82rem;
  color: var(--nv-gold-light);
}

/* line 191, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-alert i {
  margin-top: 0.2rem;
}

/* line 194, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-subhead {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.75rem;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nv-gold-light);
}

/* line 205, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-subhead i {
  color: var(--nv-gold);
}

/* line 208, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-empty {
  margin: 0;
  padding: 1.25rem 0;
  font-size: 0.84rem;
  text-align: center;
  color: var(--nv-faint);
}

/* line 217, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

/* line 224, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-stat {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 234, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-stat__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  color: var(--nv-text);
}

/* line 241, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-stat__value small {
  margin-left: 2px;
  font-size: 0.62em;
  font-weight: 600;
  color: var(--nv-faint);
}

/* line 249, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-stat__label {
  font-size: 0.76rem;
  line-height: 1.35;
  color: var(--nv-muted);
}

/* line 255, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-stat__remaining {
  font-size: 0.7rem;
  color: var(--nv-faint);
}

/* line 260, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-meter {
  height: 5px;
  margin-top: auto;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  overflow: hidden;
}

/* line 267, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-meter span {
  display: block;
  height: 100%;
  max-width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #cc903c 0%, #e0bc8a 100%);
}

/* line 277, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls {
  width: 100%;
  border-collapse: collapse;
}

/* line 281, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls th,
.dashboard-container.company-settings-page .cs-calls td {
  padding: 0.65rem 0.6rem;
  border: 0;
  border-bottom: 1px solid var(--nv-border);
  background: transparent;
  text-align: left;
  vertical-align: middle;
}

/* line 291, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls th {
  padding-top: 0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--nv-faint);
}

/* line 301, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls td {
  font-size: 0.8rem;
  color: var(--nv-muted);
}

/* line 306, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls th:first-child,
.dashboard-container.company-settings-page .cs-calls td:first-child {
  padding-left: 0;
}

/* line 309, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls th:last-child,
.dashboard-container.company-settings-page .cs-calls td:last-child {
  padding-right: 0;
}

/* line 312, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls tbody tr:last-child td {
  border-bottom: 0;
}

/* line 314, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls code {
  padding: 0.12rem 0.45rem;
  border-radius: 6px;
  background: var(--nv-inset-hover);
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.74rem;
  color: var(--nv-text);
  overflow-wrap: anywhere;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* line 326, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls .cs-calls__time,
.dashboard-container.company-settings-page .cs-calls .cs-calls__ip {
  white-space: nowrap;
}

/* line 329, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-calls .cs-calls__ip {
  font-variant-numeric: tabular-nums;
}

/* line 333, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-team {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 341, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.6rem 0.75rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 352, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--nv-gold-soft);
  box-shadow: inset 0 0 0 1px var(--nv-border-gold);
  color: var(--nv-gold-light);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* line 367, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member__info {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

/* line 374, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member__name,
.dashboard-container.company-settings-page .cs-member__email {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 381, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member__name {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--nv-text);
}

/* line 387, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member__email {
  font-size: 0.74rem;
  color: var(--nv-faint);
}

/* line 392, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member--more {
  border-style: dashed;
  background: transparent;
}

/* line 396, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member--more .cs-avatar {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--nv-border);
  color: var(--nv-muted);
}

/* line 402, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-member--more .cs-member__name {
  font-weight: 500;
  color: var(--nv-muted);
}

/* line 409, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hooks {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 417, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook {
  display: flex;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.8rem 0.95rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
}

/* line 427, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook--off {
  border-style: dashed;
  background: transparent;
}

/* line 432, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook__main {
  display: grid;
  flex: 1;
  gap: 0.45rem;
  min-width: 0;
}

/* line 439, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook__url {
  padding: 0;
  background: none;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.8rem;
  color: var(--nv-text);
  overflow-wrap: anywhere;
}

/* line 448, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

/* line 455, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook__failures {
  font-size: 0.74rem;
  color: var(--nv-down);
}

/* line 460, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-tag {
  padding: 0.12rem 0.5rem;
  border-radius: 6px;
  background: var(--nv-inset-hover);
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.72rem;
  color: var(--nv-muted);
}

/* line 469, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook__actions {
  display: flex;
  flex-shrink: 0;
  gap: 0.4rem;
}

/* line 474, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook__actions form {
  margin: 0;
}

/* line 477, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "title title" "url url" "events submit";
  align-items: end;
  gap: 0.9rem 1rem;
  margin: 0;
}

/* line 489, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hooks + .cs-hook-form {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--nv-border);
}

/* line 495, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook-form .cs-subhead {
  grid-area: title;
  margin: 0;
}

/* line 500, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook-form__url {
  grid-area: url;
}

/* line 501, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook-form__submit {
  grid-area: submit;
}

/* line 503, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook-form__events {
  grid-area: events;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/* line 510, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-hook-form__events legend {
  float: none;
  width: auto;
  padding: 0;
}

/* line 518, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 1rem 0 0.25rem;
  cursor: pointer;
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--nv-text);
}

/* line 528, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-consent input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 0.15rem;
  accent-color: var(--nv-gold);
}

/* line 538, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 544, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check {
  position: relative;
  margin: 0;
  cursor: pointer;
}

/* line 549, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* line 557, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 36px;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.76rem;
  color: var(--nv-muted);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 572, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check i {
  display: none;
  font-size: 0.66rem;
}

/* line 577, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check:hover span {
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 582, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check input:checked + span {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 587, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check input:checked + span i {
  display: inline;
}

/* line 590, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-check input:focus-visible + span {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 597, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-scopes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 605, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-scopes .nv-pill {
  padding: 0.3rem 0.75rem;
  font-size: 0.78rem;
}

/* line 612, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .nv-pill.cs-scope--off {
  border-style: dashed;
  background: transparent;
  color: var(--nv-faint);
}

/* line 619, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-docs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.1rem 1.25rem;
}

@media (min-width: 992px) {
  /* line 626, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-docs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* line 629, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-doc {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 634, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-doc .cs-code {
  flex: 1;
}

/* line 637, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-doc__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.5rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--nv-text);
}

/* line 646, app/assets/stylesheets/charte_pages/_company_settings.scss */
.dashboard-container.company-settings-page .cs-doc__title i {
  width: 1rem;
  text-align: center;
  color: var(--nv-gold);
}

@media (min-width: 576px) and (max-width: 991.98px) {
  /* line 655, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-team {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  /* line 660, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-page {
    gap: 1rem;
    padding-top: 1.25rem;
  }
  /* line 665, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-row {
    gap: 1rem;
  }
  /* line 668, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-stats {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
  }
  /* line 673, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-stat {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "label value" "remaining value" "meter meter";
    align-items: center;
    gap: 0.2rem 0.75rem;
    padding: 0.75rem 0.85rem;
  }
  /* line 685, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-stat__value {
    grid-area: value;
    font-size: 1.2rem;
  }
  /* line 690, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-stat__label {
    grid-area: label;
  }
  /* line 691, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-stat__remaining {
    grid-area: remaining;
  }
  /* line 693, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-meter {
    grid-area: meter;
    margin-top: 0.45rem;
  }
  /* line 700, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls {
    display: block;
  }
  /* line 703, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls thead {
    display: none;
  }
  /* line 705, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls tbody {
    display: block;
  }
  /* line 707, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--nv-border);
  }
  /* line 716, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls tbody tr:last-child {
    border-bottom: 0;
  }
  /* line 718, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls td {
    display: block;
    padding: 0;
    border: 0;
  }
  /* line 724, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls td:first-child,
.dashboard-container.company-settings-page .cs-calls td.cs-empty {
    flex: 1 1 100%;
  }
  /* line 727, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls code {
    padding: 0.12rem 0.35rem;
    font-size: 0.66rem;
  }
  /* line 732, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-calls .cs-calls__ip {
    margin-left: auto;
  }
  /* line 735, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-code code {
    font-size: 0.72rem;
  }
  /* line 739, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-hook {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "url url" "meta actions";
    align-items: center;
    gap: 0.6rem 0.75rem;
    padding: 0.75rem 0.8rem;
  }
  /* line 750, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-hook__main {
    display: contents;
  }
  /* line 751, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-hook__url {
    grid-area: url;
  }
  /* line 752, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-hook__meta {
    grid-area: meta;
  }
  /* line 753, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-hook__actions {
    grid-area: actions;
  }
  /* line 755, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-hook-form {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "url" "events" "submit";
  }
  /* line 764, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-card-foot .nv-btn,
.dashboard-container.company-settings-page .cs-hook-form__submit {
    width: 100%;
  }
  /* line 767, app/assets/stylesheets/charte_pages/_company_settings.scss */
  .dashboard-container.company-settings-page .cs-card-foot form {
    flex: 1 1 100%;
  }
}

/* line 12, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  padding-top: 1.75rem;
  padding-bottom: 2.5rem;
}

/* line 20, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-toolbar {
  margin: 0;
}

/* line 22, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .nv-title {
  margin-top: 0.35rem;
}

/* line 24, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-back {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.6rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--nv-muted);
  text-decoration: none;
}

/* line 35, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-back:hover {
  color: var(--nv-gold-light);
}

/* line 36, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-back:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
  border-radius: 4px;
}

/* line 40, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-langs {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.2rem;
  border: 1px solid var(--nv-border);
  border-radius: 999px;
  background: var(--nv-inset);
}

/* line 49, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-lang {
  min-height: 30px;
  border-color: transparent;
  background: transparent;
  color: var(--nv-muted);
}

/* line 55, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-lang.is-active {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 62, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-hint {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--nv-muted);
}

/* line 68, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-hint.is-error {
  color: var(--nv-down);
}

/* line 72, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-stage {
  padding: 1.5rem 1rem;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-inset);
}

/* line 79, app/assets/stylesheets/charte_pages/_company_letter.scss */
.dashboard-container.company-letter-page .cl-letter {
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 6, 21, 0.45);
}

@media (max-width: 575.98px) {
  /* line 86, app/assets/stylesheets/charte_pages/_company_letter.scss */
  .dashboard-container.company-letter-page .cl-page {
    padding-top: 1.1rem;
  }
  /* line 88, app/assets/stylesheets/charte_pages/_company_letter.scss */
  .dashboard-container.company-letter-page .cl-actions {
    width: 100%;
  }
  /* line 90, app/assets/stylesheets/charte_pages/_company_letter.scss */
  .dashboard-container.company-letter-page .cl-stage {
    margin: 0 -0.25rem;
    padding: 0.75rem 0;
    border: 0;
    background: none;
  }
}

@media print {
  @page {
    margin: 12mm;
  }
  /* line 106, app/assets/stylesheets/charte_pages/_company_letter.scss */
  html.cl-printing,
html.cl-printing body {
    background: #fff !important;
  }
  /* line 111, app/assets/stylesheets/charte_pages/_company_letter.scss */
  body.cl-printing > *:not(.cl-print-path),
body.cl-printing .cl-print-path > *:not(.cl-print-path):not(.cl-letter) {
    display: none !important;
  }
  /* line 116, app/assets/stylesheets/charte_pages/_company_letter.scss */
  body.cl-printing .cl-print-path {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
  }
  /* line 133, app/assets/stylesheets/charte_pages/_company_letter.scss */
  body.cl-printing .cl-letter {
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  /* line 140, app/assets/stylesheets/charte_pages/_company_letter.scss */
  body.cl-printing .cl-letter,
body.cl-printing .cl-letter * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  /* line 146, app/assets/stylesheets/charte_pages/_company_letter.scss */
  body.cl-printing .cl-sec {
    break-inside: avoid;
  }
}

/* line 60, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog {
  color: var(--nv-text);
}

/* line 63, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 2.25rem 2rem 4rem;
}

/* line 70, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__head {
  gap: 1rem 2.5rem;
  margin-bottom: 1.5rem;
}

/* line 74, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__head > .nv-page-head__text {
  flex: 1 1 26rem;
}

/* line 75, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__head .nv-sub {
  max-width: 40rem;
  font-size: 0.98rem;
}

/* line 78, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__title,
.nv-blog .nv-blog-featured__title,
.nv-blog .nv-blog-article__title {
  font-family: var(--police-titre);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* line 87, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__title {
  margin-top: 0.45rem;
  font-size: 2rem;
  line-height: 1.15;
}

/* line 90, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-search {
  display: flex;
  flex: 1 1 20rem;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  max-width: 26rem;
  min-height: 48px;
  margin: 0;
  padding: 4px 4px 4px 1.05rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-input);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 105, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-search:focus-within {
  border-color: var(--nv-gold);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.18);
}

/* line 106, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-search > i {
  color: var(--nv-faint);
  font-size: 0.85rem;
}

/* line 107, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-search .nv-btn {
  flex-shrink: 0;
}

/* line 110, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-search__input {
  flex: 1;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nv-text);
  font-size: 1rem;
  box-shadow: none;
  outline: none;
}

/* line 123, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-search__input::placeholder {
  color: var(--nv-faint);
}

/* line 127, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}

/* line 134, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-chip {
  color: var(--nv-muted);
}

/* line 137, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-chip.is-active {
  border-color: var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
}

/* line 140, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-count {
  color: var(--nv-faint);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}

/* line 146, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-chip.is-active .nv-blog-count {
  color: var(--nv-gold);
}

/* line 149, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem 3rem;
  align-items: start;
  justify-content: center;
}

/* line 158, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog.nv-blog--article .nv-blog__layout {
  grid-template-columns: minmax(0, 44rem);
}

/* line 160, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__main,
.nv-blog .nv-blog__aside {
  display: flex;
  flex-direction: column;
  gap: 2.75rem;
  min-width: 0;
}

/* line 168, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog__aside {
  gap: 1.25rem;
}

/* line 170, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-block__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 178, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-block__title {
  margin: 0;
  color: var(--nv-text);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

/* line 186, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-block__title i {
  margin-right: 0.3rem;
  color: var(--nv-gold);
  font-size: 0.95em;
}

/* line 189, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-block__head .nv-blog-count {
  font-size: 0.8rem;
  white-space: nowrap;
}

/* line 192, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
  transition: box-shadow 0.18s ease;
}

/* line 200, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.75rem;
}

/* line 207, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__body > .nv-blog-byline {
  margin-top: auto;
  padding-top: 0.35rem;
}

/* line 210, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.22;
}

/* line 211, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0;
  color: var(--nv-muted);
  font-size: 0.94rem;
  line-height: 1.6;
}

/* line 213, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__media {
  position: relative;
  min-height: 18rem;
  background: var(--nv-inset);
}

/* line 218, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 222, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__title a,
.nv-blog .nv-blog-card__title a {
  color: var(--nv-text);
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 228, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__title a::after,
.nv-blog .nv-blog-card__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* line 229, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-featured__title a:focus-visible,
.nv-blog .nv-blog-card__title a:focus-visible {
  outline: none;
}

/* line 232, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card:has(a:focus-visible),
.nv-blog .nv-blog-featured:has(a:focus-visible) {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 236, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
}

/* line 242, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--nv-radius);
  border: 1px solid var(--nv-border);
  background: var(--nv-surface);
  box-shadow: var(--nv-shadow);
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

/* line 256, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card__media {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: radial-gradient(90% 120% at 0% 0%, rgba(204, 144, 60, 0.14) 0%, rgba(204, 144, 60, 0) 60%), var(--nv-inset);
  color: rgba(204, 144, 60, 0.55);
  font-size: 1.4rem;
}

/* line 265, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 268, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card__media img,
.nv-blog .nv-blog-featured__media img {
  transition: transform 0.4s ease;
}

/* line 271, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  min-width: 0;
  padding: 1rem 1.1rem 1.05rem;
}

/* line 281, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}

/* line 282, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  color: var(--nv-muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

/* line 286, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.3rem 0.75rem;
  width: 100%;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(148, 163, 184, 0.09);
  color: var(--nv-faint);
  font-size: 0.78rem;
  line-height: 1.3;
  white-space: nowrap;
}

/* line 302, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-meta__author {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--nv-muted);
  font-weight: 600;
}

/* line 311, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact {
  flex-direction: row;
}

/* line 32, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-blog-card__media {
  position: relative;
  flex: 0 0 34%;
  max-width: 136px;
  aspect-ratio: auto;
}

/* line 38, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-blog-card__media img {
  position: absolute;
  inset: 0;
}

/* line 41, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-blog-card__body {
  gap: 0.4rem;
  padding: 0.8rem 0.95rem;
}

/* line 42, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-blog-card__title {
  font-size: 0.92rem;
  line-height: 1.38;
}

/* line 43, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-blog-card__excerpt, .nv-blog .nv-blog-card--compact .nv-blog-meta__author {
  display: none;
}

/* line 44, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-blog-meta {
  padding-top: 0;
  border-top: 0;
}

/* line 314, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-card--compact .nv-pill {
  display: none;
}

@media (hover: hover) {
  /* line 318, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card:hover {
    border-color: var(--nv-border-gold);
    transform: translateY(-2px);
  }
  /* line 319, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card:hover,
.nv-blog .nv-blog-featured:hover {
    box-shadow: 0 22px 46px rgba(0, 6, 21, 0.5);
  }
  /* line 321, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card:hover .nv-blog-card__title a,
.nv-blog .nv-blog-featured:hover .nv-blog-featured__title a {
    color: var(--nv-gold-light);
  }
  /* line 323, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card:hover img,
.nv-blog .nv-blog-featured:hover img {
    transform: scale(1.03);
  }
}

/* line 328, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-byline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

/* line 334, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-byline > div > strong {
  display: block;
  color: var(--nv-text);
  font-size: 0.92rem;
  font-weight: 600;
}

/* line 335, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-byline > div > span {
  display: block;
  margin-top: 0.1rem;
  color: var(--nv-faint);
  font-size: 0.8rem;
}

/* line 339, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-widget {
  padding: 1.15rem 1.2rem 1.2rem;
}

/* line 342, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-widget .nv-card__head {
  align-items: center;
  margin-bottom: 0.9rem;
}

/* line 343, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-widget .nv-card__icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 0.85rem;
}

/* line 344, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-widget .nv-card__title {
  font-size: 0.95rem;
}

/* line 347, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list,
.nv-blog .nv-blog-authors {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 350, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__item {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(148, 163, 184, 0.09);
}

/* line 356, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__item:first-child {
  padding-top: 0;
  border-top: 0;
}

/* line 357, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__item:last-child {
  padding-bottom: 0;
}

/* line 360, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__rank {
  display: grid;
  flex: 0 0 24px;
  place-items: center;
  height: 24px;
  border-radius: 7px;
  border: 1px solid var(--nv-border-gold);
  background: var(--nv-gold-soft);
  color: var(--nv-gold);
  font-size: 0.74rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 374, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__text {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}

/* line 376, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  color: var(--nv-text);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

/* line 384, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__title:hover {
  color: var(--nv-gold-light);
}

/* line 387, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__meta {
  display: flex;
  gap: 0.75rem;
  color: var(--nv-faint);
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
}

/* line 394, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-list__meta i {
  margin-right: 0.15rem;
}

/* line 397, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-authors {
  margin: 0 -0.5rem;
}

/* line 399, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-authors__link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.5rem;
  border-radius: 10px;
  color: var(--nv-text);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

/* line 410, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-authors__link:hover {
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 413, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-authors__name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 421, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0;
}

/* line 427, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__form .nv-field {
  width: 100%;
  padding: 0 1rem;
}

/* line 428, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__form .nv-btn {
  width: 100%;
}

/* line 431, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__error {
  margin: 0.6rem 0 0;
  color: var(--nv-down);
  font-size: 0.8rem;
}

/* line 433, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__done {
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  border: 1px solid rgba(34, 197, 94, 0.3);
  background: rgba(34, 197, 94, 0.08);
}

/* line 441, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__done i {
  margin-top: 0.15rem;
  color: var(--nv-up);
}

/* line 442, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__done strong {
  display: block;
  color: var(--nv-text);
  font-size: 0.88rem;
}

/* line 443, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-newsletter__done p {
  margin: 0.2rem 0 0;
  color: var(--nv-muted);
  font-size: 0.8rem;
}

/* line 447, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 2.75rem 1.5rem;
  text-align: center;
}

/* line 455, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-empty .nv-card__icon {
  width: 52px;
  height: 52px;
  margin-bottom: 0.4rem;
  border-radius: 14px;
  font-size: 1.15rem;
}

/* line 456, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-empty .nv-card__title {
  font-size: 1.05rem;
}

/* line 457, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-empty .nv-card__sub {
  max-width: 26rem;
  margin: 0 0 0.75rem;
}

/* line 461, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .pagination-v2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 2rem;
}

/* line 468, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .pagination-v2 .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 0.86rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}

/* line 484, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .pagination-v2 .page-link:hover {
  border-color: var(--nv-border-gold);
  background: var(--nv-inset-hover);
  color: var(--nv-text);
}

/* line 485, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .pagination-v2 .page-link:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
  box-shadow: none;
}

/* line 486, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .pagination-v2 .page-link.active {
  border-color: transparent;
  background: linear-gradient(135deg, #d9a14f 0%, #cc903c 55%, #b47a2c 100%);
  color: #111825;
}

/* line 487, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .pagination-v2 .page-link.disabled {
  opacity: 0.5;
}

/* line 492, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-back {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1.5rem;
  color: var(--nv-muted);
  font-size: 0.84rem;
  font-weight: 600;
  text-decoration: none;
}

/* line 502, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-back i {
  color: var(--nv-gold);
  font-size: 0.8em;
  transition: transform 0.15s ease;
}

/* line 503, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-back:hover {
  color: var(--nv-text);
}

/* line 504, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-back:hover i {
  transform: translateX(-2px);
}

/* line 507, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

/* line 514, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__head > a.nv-pill {
  text-decoration: none;
}

/* line 515, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__head > a.nv-pill:hover {
  border-color: var(--nv-gold);
  color: var(--nv-gold-light);
}

/* line 516, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__head > .nv-blog-byline {
  padding-top: 0.25rem;
}

/* line 519, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__title {
  margin: 0;
  color: var(--nv-text);
  font-size: 2.35rem;
  line-height: 1.14;
}

/* line 520, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__dek {
  margin: 0;
  color: var(--nv-muted);
  font-size: 1.12rem;
  line-height: 1.6;
}

/* line 522, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__cover {
  aspect-ratio: 16 / 9;
  margin: 0 0 2.25rem;
  overflow: hidden;
  border-radius: var(--nv-radius);
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  box-shadow: var(--nv-shadow);
}

/* line 531, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 534, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 2.25rem;
}

/* line 536, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--nv-border);
}

/* line 546, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__foot .nv-blog-byline > div > span {
  color: var(--nv-muted);
}

/* line 549, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 554, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-article__actions i {
  color: var(--nv-gold);
}

/* line 558, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose {
  color: rgba(247, 246, 244, 0.86);
  font-size: 1.0625rem;
  line-height: 1.75;
  overflow-wrap: break-word;
}

/* line 564, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose > :first-child {
  margin-top: 0;
}

/* line 565, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose > :last-child {
  margin-bottom: 0;
}

/* line 567, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose p {
  margin: 0 0 1.25em;
}

/* line 569, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose h1, .nv-blog .nv-blog-prose h2, .nv-blog .nv-blog-prose h3, .nv-blog .nv-blog-prose h4, .nv-blog .nv-blog-prose h5, .nv-blog .nv-blog-prose h6 {
  color: var(--nv-text);
  font-family: var(--police-texte);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

/* line 577, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose h1, .nv-blog .nv-blog-prose h2 {
  margin: 2.1em 0 0.75em;
  font-size: 1.5rem;
}

/* line 578, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose h3 {
  margin: 1.8em 0 0.6em;
  font-size: 1.2rem;
}

/* line 579, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose h4, .nv-blog .nv-blog-prose h5, .nv-blog .nv-blog-prose h6 {
  margin: 1.6em 0 0.5em;
  font-size: 1.05rem;
}

/* line 581, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose a {
  color: var(--nv-gold-light);
  text-decoration: underline;
  text-decoration-color: rgba(224, 188, 138, 0.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

/* line 589, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose a:hover {
  color: var(--nv-gold);
  text-decoration-color: currentColor;
}

/* line 592, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose strong, .nv-blog .nv-blog-prose b {
  color: var(--nv-text);
  font-weight: 700;
}

/* line 594, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose ul, .nv-blog .nv-blog-prose ol {
  margin: 0 0 1.25em;
  padding-left: 1.35em;
}

/* line 595, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose li {
  margin: 0.45em 0;
  padding-left: 0.25em;
}

/* line 596, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose li::marker {
  color: var(--nv-gold);
}

/* line 597, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose ol > li::marker {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* line 598, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose li > ul, .nv-blog .nv-blog-prose li > ol {
  margin: 0.4em 0 0;
}

/* line 600, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose blockquote {
  margin: 1.75em 0;
  padding: 1em 1.25em;
  border-left: 3px solid var(--nv-gold);
  border-radius: 0 12px 12px 0;
  background: rgba(204, 144, 60, 0.06);
  color: var(--nv-text);
  font-size: 1.04em;
  font-style: italic;
}

/* line 610, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose blockquote p:last-child {
  margin-bottom: 0;
}

/* line 613, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.75em auto;
  border-radius: 14px;
  border: 1px solid var(--nv-border);
}

/* line 622, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose figure {
  margin: 1.75em 0;
}

/* line 623, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose figure img {
  margin: 0 auto;
}

/* line 624, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose figcaption {
  margin-top: 0.6em;
  color: var(--nv-faint);
  text-align: center;
}

/* line 626, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose hr {
  height: 1px;
  margin: 2.25em 0;
  border: 0;
  background: var(--nv-border);
  opacity: 1;
}

/* line 628, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose code {
  padding: 0.12em 0.4em;
  border-radius: 6px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-gold-light);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.86em;
  overflow-wrap: anywhere;
}

/* line 639, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose pre {
  margin: 1.5em 0;
  padding: 1rem 1.15rem;
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-input);
  font-size: 0.86rem;
  line-height: 1.6;
}

/* line 649, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose pre code {
  padding: 0;
  border: 0;
  background: none;
  color: var(--nv-text);
  font-size: inherit;
  white-space: pre;
  overflow-wrap: normal;
}

/* line 654, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose table {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 1.75em 0;
  overflow-x: auto;
  border-collapse: collapse;
  border: 1px solid var(--nv-border);
  border-radius: 12px;
  background: linear-gradient(90deg, #000615 40%, rgba(0, 6, 21, 0)) left/2.5rem 100% no-repeat local, linear-gradient(270deg, #000615 40%, rgba(0, 6, 21, 0)) right/2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, rgba(204, 144, 60, 0.28), rgba(204, 144, 60, 0)) left/0.75rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, rgba(204, 144, 60, 0.28), rgba(204, 144, 60, 0)) right/0.75rem 100% no-repeat scroll;
  font-size: 0.9rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

/* line 675, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose th, .nv-blog .nv-blog-prose td {
  padding: 0.65rem 0.9rem;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.09);
  text-align: left;
  vertical-align: top;
}

/* line 676, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose tr:last-child td {
  border-bottom: 0;
}

/* line 678, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose th {
  background: rgba(255, 255, 255, 0.035);
  color: var(--nv-text);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* line 689, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose .article-disclaimer,
.nv-blog .nv-blog-prose .disclaimer {
  margin: 2.25em 0 0;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  border: 1px solid var(--nv-border);
  background: var(--nv-inset);
  color: var(--nv-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

/* line 700, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose .article-disclaimer h3, .nv-blog .nv-blog-prose .article-disclaimer h4,
.nv-blog .nv-blog-prose .disclaimer h3,
.nv-blog .nv-blog-prose .disclaimer h4 {
  margin: 0 0 0.4rem;
  color: var(--nv-gold);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 701, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose .article-disclaimer p,
.nv-blog .nv-blog-prose .disclaimer p {
  margin: 0;
  color: var(--nv-muted);
}

/* line 702, app/assets/stylesheets/charte_pages/_blog.scss */
.nv-blog .nv-blog-prose .article-disclaimer em,
.nv-blog .nv-blog-prose .disclaimer em {
  font-style: normal;
}

/* line 708, app/assets/stylesheets/charte_pages/_blog.scss */
body[data-server-webview="true"] .nv-blog-back {
  margin-left: 2.5rem;
}

@media (min-width: 600px) {
  /* line 713, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
  /* line 715, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  /* line 720, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__aside > :first-child {
    grid-row: span 2;
  }
}

@media (min-width: 600px) and (max-width: 1099.98px) {
  /* line 727, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__wrap {
    padding: 1.75rem 1.5rem 3rem;
  }
  /* line 728, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__title {
    font-size: 1.75rem;
  }
  /* line 729, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-article__title {
    font-size: 2.05rem;
  }
}

@media (min-width: 1100px) {
  /* line 49, app/assets/stylesheets/charte_pages/_blog.scss */
  body:not(.has-sidebar) .nv-blog .nv-blog__layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
  /* line 50, app/assets/stylesheets/charte_pages/_blog.scss */
  body:not(.has-sidebar) .nv-blog.nv-blog--article .nv-blog__layout {
    grid-template-columns: minmax(0, 44rem) 300px;
  }
  /* line 52, app/assets/stylesheets/charte_pages/_blog.scss */
  body:not(.has-sidebar) .nv-blog .nv-blog__aside {
    display: flex;
    align-items: stretch;
  }
  /* line 56, app/assets/stylesheets/charte_pages/_blog.scss */
  body:not(.has-sidebar) .nv-blog .nv-blog__aside > :first-child {
    grid-row: auto;
  }
}

@media (min-width: 1300px) {
  /* line 49, app/assets/stylesheets/charte_pages/_blog.scss */
  body.has-sidebar .nv-blog .nv-blog__layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
  /* line 50, app/assets/stylesheets/charte_pages/_blog.scss */
  body.has-sidebar .nv-blog.nv-blog--article .nv-blog__layout {
    grid-template-columns: minmax(0, 44rem) 300px;
  }
  /* line 52, app/assets/stylesheets/charte_pages/_blog.scss */
  body.has-sidebar .nv-blog .nv-blog__aside {
    display: flex;
    align-items: stretch;
  }
  /* line 56, app/assets/stylesheets/charte_pages/_blog.scss */
  body.has-sidebar .nv-blog .nv-blog__aside > :first-child {
    grid-row: auto;
  }
}

@media (max-width: 767.98px) {
  /* line 744, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-featured {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 745, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-featured__media {
    order: -1;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  /* line 746, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-featured__body {
    padding: 1.15rem 1.15rem 1.25rem;
  }
  /* line 747, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-featured__title {
    font-size: 1.3rem;
  }
}

@media (max-width: 599.98px) {
  /* line 754, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__wrap {
    padding: 1.25rem 1rem 2.5rem;
  }
  /* line 755, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__head {
    margin-bottom: 1.15rem;
  }
  /* line 756, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__title {
    font-size: 1.5rem;
  }
  /* line 757, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__head .nv-sub {
    font-size: 0.9rem;
  }
  /* line 758, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-search {
    flex-basis: 100%;
    max-width: none;
  }
  /* line 761, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-filters {
    flex-wrap: nowrap;
    margin: 0 -1rem 1.5rem;
    padding: 0 1rem 2px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 1.5rem), transparent);
    mask-image: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 1.5rem), transparent);
  }
  /* line 770, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-filters::-webkit-scrollbar {
    display: none;
  }
  /* line 773, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__main {
    gap: 2.25rem;
  }
  /* line 774, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card {
    flex-direction: row;
  }
  /* line 32, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card .nv-blog-card__media {
    position: relative;
    flex: 0 0 34%;
    max-width: 136px;
    aspect-ratio: auto;
  }
  /* line 38, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card .nv-blog-card__media img {
    position: absolute;
    inset: 0;
  }
  /* line 41, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card .nv-blog-card__body {
    gap: 0.4rem;
    padding: 0.8rem 0.95rem;
  }
  /* line 42, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card .nv-blog-card__title {
    font-size: 0.92rem;
    line-height: 1.38;
  }
  /* line 43, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card .nv-blog-card__excerpt, .nv-blog .nv-blog-card .nv-blog-meta__author {
    display: none;
  }
  /* line 44, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card .nv-blog-meta {
    padding-top: 0;
    border-top: 0;
  }
  /* line 776, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-article__title {
    font-size: 1.7rem;
    line-height: 1.18;
  }
  /* line 778, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-article__dek {
    display: none;
  }
  /* line 780, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-article__cover {
    margin: 0 -1rem 1.75rem;
    border-radius: 0;
    border-width: 1px 0;
  }
  /* line 782, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-prose {
    font-size: 1rem;
    line-height: 1.7;
  }
  /* line 786, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-prose h1, .nv-blog .nv-blog-prose h2 {
    font-size: 1.3rem;
  }
  /* line 787, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-prose h3 {
    font-size: 1.12rem;
  }
  /* line 788, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-prose table {
    font-size: 0.84rem;
  }
  /* line 790, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-prose td {
    white-space: nowrap;
  }
  /* line 793, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-article__foot {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 798, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog-card,
.nv-blog .nv-blog-card img,
.nv-blog .nv-blog-featured img {
    transition: none;
  }
}

@media print {
  /* line 805, app/assets/stylesheets/charte_pages/_blog.scss */
  .nv-blog .nv-blog__aside,
.nv-blog .nv-blog-back,
.nv-blog .nv-blog-article__actions,
.nv-blog .nv-blog-block {
    display: none;
  }
}

/* line 18, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz {
  color: var(--nv-text);
}

/* line 21, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* line 27, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__wrap--narrow {
  max-width: 860px;
}

/* line 29, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-btn {
  white-space: normal;
  text-align: center;
  text-decoration: none;
}

/* line 35, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__btn-lg {
  min-height: 48px;
  padding: 0.7rem 1.35rem;
  font-size: 0.95rem;
}

/* line 42, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__h1,
.nv-biz .nv-biz__h2 {
  font-family: var(--police-titre);
  font-weight: 700;
  color: var(--nv-text);
  text-wrap: balance;
}

/* line 50, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__h1 {
  margin: 0.8rem 0 1rem;
  font-size: 2.85rem;
  line-height: 1.1;
  letter-spacing: -0.028em;
}

/* line 57, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__h2 {
  margin: 0.5rem 0 0.6rem;
  font-size: 2.05rem;
  line-height: 1.18;
  letter-spacing: -0.02em;
}

/* line 64, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__h3 {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--nv-text);
}

/* line 75, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__lead {
  max-width: 38rem;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.6;
  color: var(--nv-muted);
}

/* line 83, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__sub {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--nv-muted);
}

/* line 91, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__hero {
  padding: 3.5rem 0 3rem;
  background: radial-gradient(55% 70% at 12% 0%, rgba(204, 144, 60, 0.12) 0%, rgba(204, 144, 60, 0) 70%), radial-gradient(40% 60% at 95% 30%, rgba(59, 130, 246, 0.07) 0%, rgba(59, 130, 246, 0) 70%);
}

/* line 98, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}

/* line 105, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__hero-text {
  min-width: 0;
}

/* line 107, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

/* line 114, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__actions--center {
  justify-content: center;
}

/* line 116, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.86rem;
  color: var(--nv-muted);
}

/* line 126, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__facts li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

/* line 127, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__facts i {
  color: var(--nv-gold-light);
  font-size: 0.75rem;
}

/* line 130, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__switch {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--nv-border);
}

/* line 140, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__switch-label {
  margin-right: 0.25rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--nv-faint);
}

/* line 147, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__switch-pill {
  min-height: 32px;
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

/* line 154, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__switch-pill:hover {
  border-color: var(--nv-border-gold);
  color: var(--nv-text);
}

/* line 155, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__switch-pill:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
}

/* line 159, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview {
  width: 100%;
  max-width: 470px;
  margin: 0 auto;
  padding: 1.35rem 1.4rem 1.2rem;
}

/* line 166, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 173, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-time {
  font-size: 0.78rem;
  color: var(--nv-faint);
}

/* line 175, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-title {
  margin: 0.9rem 0 0.6rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--nv-text);
}

/* line 182, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-rows {
  margin: 0;
}

/* line 185, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-rows > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem 0;
  border-top: 1px solid var(--nv-border);
}

/* line 194, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-rows dt {
  flex-shrink: 0;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--nv-muted);
}

/* line 201, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-rows dd {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.4rem;
  min-width: 0;
  margin: 0;
  text-align: right;
  font-size: 0.85rem;
}

/* line 211, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-rows dd strong {
  font-weight: 600;
  color: var(--nv-text);
}

/* line 215, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__gauge {
  position: relative;
  display: block;
  width: 120px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f87171 0%, #cc903c 50%, #22c55e 100%);
  opacity: 0.85;
}

/* line 224, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__gauge span {
  position: absolute;
  top: 50%;
  width: 11px;
  height: 11px;
  border: 2px solid #0d1422;
  border-radius: 50%;
  background: var(--nv-text);
  transform: translate(-50%, -50%);
}

/* line 236, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-summary {
  margin: 0.75rem 0 0.7rem;
  padding: 0.8rem 0.9rem;
  border-left: 2px solid var(--nv-gold);
  border-radius: 0 var(--nv-radius-sm) var(--nv-radius-sm) 0;
  background: var(--nv-inset);
  font-size: 0.87rem;
  line-height: 1.55;
  color: rgba(247, 246, 244, 0.84);
}

/* line 247, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__preview-source {
  margin: 0;
  font-size: 0.74rem;
  color: var(--nv-faint);
}

/* line 254, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__block {
  padding: 4rem 0 0;
  scroll-margin-top: 80px;
}

/* line 259, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__block--last {
  padding-bottom: 5rem;
}

/* line 261, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__head {
  max-width: 46rem;
  margin: 0 auto 2rem;
  text-align: center;
}

/* line 267, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

/* line 272, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__grid > * {
  min-width: 0;
}

/* line 275, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__grid--offers {
  gap: 1.5rem 1rem;
}

/* line 277, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__list {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 284, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(247, 246, 244, 0.84);
}

/* line 293, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__list i {
  flex-shrink: 0;
  margin-top: 0.32rem;
  color: var(--nv-gold);
  font-size: 0.7rem;
}

/* line 301, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1.1rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--nv-gold-light);
  text-decoration: none;
}

/* line 311, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__more i {
  font-size: 0.72rem;
  transition: transform 0.15s ease;
}

/* line 312, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__more:hover {
  color: var(--nv-gold);
}

/* line 313, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__more:hover i {
  transform: translateX(2px);
}

/* line 317, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__segment {
  display: flex;
  flex-direction: column;
}

/* line 321, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__segment .nv-biz__list {
  flex: 1;
  align-content: start;
}

/* line 325, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer {
  display: flex;
  flex-direction: column;
  padding: 1.6rem 1.35rem 1.35rem;
}

/* line 330, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer.is-highlighted {
  box-shadow: var(--nv-shadow), 0 0 0 1px rgba(204, 144, 60, 0.35), 0 18px 48px rgba(204, 144, 60, 0.1);
}

/* line 334, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer .nv-card__head {
  margin-bottom: 0;
}

/* line 337, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer-badge {
  position: absolute;
  top: 0;
  left: 1.25rem;
  transform: translateY(-50%);
  background: #2a2116;
}

/* line 344, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer-badge i {
  font-size: 0.62rem;
}

/* line 347, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__price {
  margin: 1.1rem 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--nv-border);
}

/* line 353, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__price-main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem 0.45rem;
}

/* line 360, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__amount {
  font-family: var(--police-titre);
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--nv-text);
}

/* line 370, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__period {
  font-size: 0.8rem;
  color: var(--nv-muted);
}

/* line 372, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__price-sub {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--nv-muted);
}

/* line 379, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__saving {
  font-weight: 700;
  color: var(--nv-gold-light);
  white-space: nowrap;
}

/* line 385, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__audience {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0 0 1.1rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--nv-radius-sm);
  background: var(--nv-gold-soft);
  font-size: 0.83rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--nv-gold-light);
}

/* line 398, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__audience i {
  margin-top: 0.22rem;
  font-size: 0.75rem;
}

/* line 401, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__features {
  flex: 1;
  align-content: start;
}

/* line 403, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer-cta {
  margin-top: 1.4rem;
}

/* line 406, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__offer-cta .nv-btn {
  width: 100%;
}

@supports (grid-template-rows: subgrid) {
  /* line 413, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--offers > .nv-biz__offer {
    display: grid;
    grid-row: span 5;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  /* line 420, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--4 > .nv-biz__segment {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
    row-gap: 0;
  }
  /* line 427, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__offer-cta,
.nv-biz .nv-biz__segment .nv-biz__more {
    align-self: end;
  }
  /* line 430, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__segment .nv-biz__more {
    justify-self: start;
  }
}

/* line 433, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__note {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: 0.82rem;
  color: var(--nv-faint);
}

/* line 441, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__inside {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius);
  background: var(--nv-inset);
}

/* line 450, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__inside p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--nv-muted);
}

/* line 459, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  padding: 2rem;
}

/* line 465, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust .nv-btn {
  justify-self: start;
}

/* line 468, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust-head .nv-biz__h2 {
  margin-bottom: 0;
}

/* line 470, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 476, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 484, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.94rem;
  line-height: 1.55;
  color: rgba(247, 246, 244, 0.84);
}

/* line 493, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__trust-list i {
  flex-shrink: 0;
  width: 1.1rem;
  margin-top: 0.22rem;
  color: var(--nv-gold);
  text-align: center;
}

/* line 503, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__discord {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  margin-bottom: 1rem;
  padding: 1.6rem;
}

/* line 510, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__discord > * {
  min-width: 0;
}

/* line 512, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__discord .nv-biz__h3 i {
  color: #8891f2;
  font-size: 1.1rem;
}

/* line 515, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__discord-text > p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--nv-muted);
}

/* line 522, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__steps {
  display: grid;
  gap: 0.7rem;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: biz-step;
}

/* line 530, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__steps li {
  position: relative;
  padding-left: 2.1rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(247, 246, 244, 0.84);
  counter-increment: biz-step;
}

/* line 538, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__steps li::before {
  content: counter(biz-step);
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--nv-gold-soft);
  color: var(--nv-gold-light);
  font-size: 0.72rem;
  font-weight: 700;
}

/* line 557, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc {
  padding: 1rem 1.1rem 1.1rem;
  border: 1px solid rgba(148, 163, 184, 0.1);
  border-radius: 12px;
  background: #313338;
}

/* line 564, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-label {
  display: inline-block;
  margin-bottom: 0.8rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #949ba4;
}

/* line 574, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}

/* line 580, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-avatar {
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d9a14f 0%, #b47a2c 100%);
  color: #111825;
  font-weight: 800;
}

/* line 592, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-body {
  flex: 1;
  min-width: 0;
}

/* line 594, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.72rem;
  color: #949ba4;
}

/* line 603, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-meta strong {
  font-size: 0.92rem;
  color: #f2f3f5;
}

/* line 606, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-tag {
  padding: 0.05rem 0.3rem;
  border-radius: 3px;
  background: #5865f2;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 700;
}

/* line 615, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-embed {
  margin-top: 0.4rem;
  padding: 0.75rem 0.9rem 0.7rem;
  border-left: 4px solid var(--nv-gold);
  border-radius: 4px;
  background: #2b2d31;
}

/* line 623, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-title {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #f2f3f5;
}

/* line 630, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-text {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: #dbdee1;
}

/* line 637, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 1rem;
  margin: 0.65rem 0;
}

/* line 643, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-fields span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #b5bac1;
}

/* line 650, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-fields strong {
  font-size: 0.84rem;
  font-weight: 600;
  color: #f2f3f5;
}

/* line 653, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__dc-footer {
  margin: 0;
  font-size: 0.7rem;
  color: #949ba4;
}

/* line 659, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code-card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

/* line 664, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code-card > p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--nv-muted);
}

/* line 671, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code-card .nv-biz__h3 i {
  color: var(--nv-gold);
}

/* line 674, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code {
  flex: 1;
  max-width: 100%;
  margin: 1rem 0 0;
  padding: 1rem 1.1rem;
  overflow-x: auto;
  border: 1px solid var(--nv-border);
  border-radius: var(--nv-radius-sm);
  background: rgba(2, 8, 23, 0.65);
  font-size: 0.76rem;
  line-height: 1.6;
  color: #e2e8f0;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}

/* line 689, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

/* line 690, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code::-webkit-scrollbar-track {
  background: transparent;
}

/* line 691, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.35);
}

/* line 693, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__code code {
  padding: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  white-space: pre;
}

/* line 703, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq {
  display: grid;
  gap: 0.65rem;
}

/* line 708, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item {
  border: 1px solid var(--nv-border);
  border-radius: 12px;
  background: var(--nv-inset);
  transition: border-color 0.15s ease;
}

/* line 714, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item[open] {
  border-color: var(--nv-border-gold);
}

/* line 716, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nv-text);
  cursor: pointer;
  list-style: none;
}

/* line 729, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item summary::-webkit-details-marker {
  display: none;
}

/* line 731, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item summary::after {
  content: '+';
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  color: var(--nv-gold);
}

/* line 740, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item summary:focus-visible {
  outline: 2px solid var(--nv-gold-light);
  outline-offset: 2px;
  border-radius: 12px;
}

/* line 743, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item[open] summary::after {
  content: '\2212';
}

/* line 745, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item p {
  margin: 0;
  padding: 0 1.15rem 1.1rem;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--nv-muted);
}

/* line 753, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__faq-item a {
  color: var(--nv-gold-light);
  font-weight: 600;
}

/* line 757, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__final {
  padding: 2.75rem 1.75rem;
  text-align: center;
}

/* line 761, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__final .nv-biz__sub {
  max-width: 36rem;
  margin: 0 auto;
}

/* line 764, app/assets/stylesheets/charte_pages/_business.scss */
.nv-biz .nv-biz__contact {
  margin: 1.1rem 0 0;
  font-size: 0.82rem;
  color: var(--nv-faint);
}

@media (min-width: 640px) {
  /* line 772, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--3,
.nv-biz .nv-biz__grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 700px) {
  /* line 777, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--offers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  /* line 781, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__trust-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  /* line 785, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__hero {
    padding: 4.5rem 0 3.5rem;
  }
  /* line 786, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    gap: 3.5rem;
  }
  /* line 787, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__preview {
    margin: 0 0 0 auto;
  }
  /* line 788, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 789, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__discord {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: center;
  }
  /* line 790, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__block {
    padding-top: 5rem;
  }
  /* line 791, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__trust {
    padding: 2.5rem;
  }
}

@media (min-width: 1000px) {
  /* line 795, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  /* line 799, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__grid--4,
.nv-biz .nv-biz__grid--offers {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  /* line 804, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__h1 {
    font-size: 2.3rem;
  }
  /* line 805, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__h2 {
    font-size: 1.75rem;
  }
}

@media (max-width: 575.98px) {
  /* line 809, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__wrap {
    padding: 0 1rem;
  }
  /* line 810, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__hero {
    padding: 2rem 0 2.25rem;
  }
  /* line 811, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__h1 {
    font-size: 1.9rem;
  }
  /* line 812, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__h2 {
    font-size: 1.5rem;
  }
  /* line 813, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__lead {
    font-size: 1rem;
  }
  /* line 814, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__actions .nv-btn {
    width: 100%;
  }
  /* line 815, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__btn-lg {
    padding: 0.7rem 1rem;
    font-size: 0.9rem;
  }
  /* line 816, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__block {
    padding-top: 3rem;
  }
  /* line 817, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__block--last {
    padding-bottom: 3.5rem;
  }
  /* line 818, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__preview {
    padding: 1.1rem 1rem 1rem;
  }
  /* line 819, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__trust,
.nv-biz .nv-biz__discord,
.nv-biz .nv-biz__code-card {
    padding: 1.25rem 1rem;
  }
  /* line 822, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__final {
    padding: 2rem 0.85rem;
  }
  /* line 823, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__final .fa-arrow-right {
    display: none;
  }
  /* line 824, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__offer {
    padding: 1.5rem 1.1rem 1.15rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 828, app/assets/stylesheets/charte_pages/_business.scss */
  .nv-biz .nv-biz__switch-pill,
.nv-biz .nv-biz__faq-item,
.nv-biz .nv-biz__more i {
    transition: none;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  /* line 837, app/assets/stylesheets/charte_pages/_business.scss */
  body.is-signed-in:not(.webview-mode) .nv-biz .nv-biz__grid--offers,
body.is-signed-in:not(.webview-mode) .nv-biz .nv-biz__grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* 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 120, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__skip {
  border: none;
  background: none;
  color: rgba(226, 232, 240, 0.55);
  font-size: 0.8rem;
  font-weight: 500;
  padding: 7px 6px;
  cursor: pointer;
  transition: color 0.15s ease;
}

/* line 130, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__skip:hover {
  color: #e2e8f0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* line 133, 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 146, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__close:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* line 149, 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 159, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__viewport {
  flex: 1;
}

/* line 161, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide {
  padding: 10px 44px 6px;
  text-align: center;
}

/* line 165, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide[hidden] {
  display: none;
}

/* line 166, 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 167, 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 180, 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 191, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__eyebrow--free, .nv-welcome__eyebrow--trial {
  color: #4ade80;
}

/* line 192, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__eyebrow--premium {
  color: #e0bc8a;
}

/* line 195, 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 205, 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 212, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__lede--tight {
  margin-bottom: 18px;
}

/* line 215, 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 221, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__hint i,
.nv-welcome__note i {
  margin-right: 4px;
}

/* line 225, 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 234, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(224, 188, 138, 0.22);
}

/* line 239, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring--1 {
  inset: 30px;
  border-color: rgba(224, 188, 138, 0.38);
}

/* line 240, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__ring--2 {
  inset: 12px;
  animation: nvw-breathe 4s ease-in-out infinite;
}

/* line 241, 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 244, 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 258, 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 267, 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 280, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__chips i {
  color: #e0bc8a;
  font-size: 0.8rem;
}

/* line 284, 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 293, 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 304, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__step-card strong {
  font-size: 0.98rem;
  color: #f7f6f4;
}

/* line 305, 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 308, 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 317, 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 331, 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 340, 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 352, 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 365, 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 373, 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 382, 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 394, 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 397, 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 408, 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 416, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__tag--starter {
  background: rgba(224, 188, 138, 0.14);
  color: #e0bc8a;
}

/* line 417, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__tag--pro {
  background: rgba(204, 144, 60, 0.24);
  color: #f1c98a;
}

/* line 421, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__slide--offer {
  padding-bottom: 22px;
}

/* line 426, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing {
  text-align: left;
}

/* line 429, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-plans--modal .pricing-toggle-wrap {
  margin: 0 auto 1.4rem;
}

/* line 432, 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 432, 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 432, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* line 441, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-promo-note {
  overflow-wrap: anywhere;
}

@media (max-width: 999px) {
  /* line 446, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-card-popular {
    order: -1;
  }
  /* line 447, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__pricing .pricing-card-current {
    order: 10;
  }
}

/* line 450, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-card-new {
  padding: 1.4rem 1.1rem;
}

/* line 451, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-card-new:hover {
  transform: none;
}

/* line 452, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-cta-wrap {
  margin-bottom: 1rem;
}

/* line 453, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__pricing .pricing-features-list {
  margin-bottom: 0;
}

/* line 455, 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 463, 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 478, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn:active {
  transform: translateY(1px);
}

/* line 480, 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 486, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--primary:hover {
  box-shadow: 0 10px 28px rgba(204, 144, 60, 0.4);
}

/* line 489, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--outline {
  background: transparent;
  border: 1px solid rgba(224, 188, 138, 0.5);
  color: #e0bc8a;
}

/* line 494, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn--outline:hover {
  background: rgba(224, 188, 138, 0.08);
  border-color: #e0bc8a;
}

/* line 498, 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 503, 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 506, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__btn.is-busy {
  color: transparent !important;
  pointer-events: none;
}

/* line 510, 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 522, 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 525, 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 534, 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 542, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__trust i {
  color: #4ade80;
  font-size: 0.8rem;
}

/* line 545, 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 553, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__stay-free {
  max-width: 380px;
  margin: 18px auto 4px;
}

/* line 557, 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 561, 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 574, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome.is-offer .nv-welcome__nav {
  position: static;
  padding-top: 6px;
  background: none;
}

/* line 581, 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 592, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-back:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* line 595, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__dots {
  display: flex;
  align-items: center;
  gap: 7px;
}

/* line 601, 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 615, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__dot.is-active {
  width: 24px;
  background: linear-gradient(90deg, #cc903c, #e0bc8a);
}

/* line 618, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-next {
  width: auto;
  min-width: 150px;
}

/* line 622, app/assets/stylesheets/welcome_onboarding.scss */
.nv-welcome__nav-next[hidden] {
  visibility: hidden;
  display: inline-flex;
}

@media (max-width: 640px) {
  /* line 627, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome {
    padding: 0;
    place-items: end center;
  }
  /* line 632, 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 643, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__dialog {
    transform: translateY(40px);
  }
  /* line 644, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome.is-open .nv-welcome__dialog {
    transform: none;
  }
  /* line 646, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__slide {
    padding: 6px 20px 4px;
  }
  /* line 647, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__steps,
.nv-welcome__features {
    grid-template-columns: 1fr;
  }
  /* line 649, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-card {
    flex-direction: row;
    text-align: left;
    padding: 14px;
    gap: 12px;
  }
  /* line 650, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-card strong {
    display: block;
  }
  /* line 651, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-index {
    display: none;
  }
  /* line 652, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__step-icon {
    flex: 0 0 42px;
    margin: 0;
  }
  /* line 653, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__nav {
    padding: 12px 16px calc(16px + env(safe-area-inset-bottom));
  }
  /* line 654, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__nav-next {
    min-width: 130px;
  }
  /* line 655, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__trust {
    gap: 6px 14px;
  }
}

@media (max-width: 640px) {
  /* line 660, 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 668, 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 673, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__dialog,
.nv-welcome__backdrop,
.nv-welcome__progress-bar {
    transition: none;
  }
  /* line 676, app/assets/stylesheets/welcome_onboarding.scss */
  .nv-welcome__slide.is-in-forward,
.nv-welcome__slide.is-in-back,
.nv-welcome__ring {
    animation: none;
  }
}
/* line 4, app/assets/stylesheets/strong_signals.scss */
.strong-signals-card {
  padding: 18px 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(204, 144, 60, 0.1), rgba(17, 24, 37, 0.6));
  border: 1px solid rgba(204, 144, 60, 0.32);
}

/* line 11, app/assets/stylesheets/strong_signals.scss */
.strong-signals-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

/* line 19, app/assets/stylesheets/strong_signals.scss */
.strong-signals-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #e0bc8a;
}

/* line 25, app/assets/stylesheets/strong_signals.scss */
.strong-signals-title i {
  margin-right: 4px;
}

/* line 28, app/assets/stylesheets/strong_signals.scss */
.strong-signals-subtitle {
  margin: 4px 0 0;
  font-size: 0.82rem;
  color: rgba(226, 232, 240, 0.7);
}

/* line 34, app/assets/stylesheets/strong_signals.scss */
.strong-signals-count {
  flex-shrink: 0;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.14);
}

/* line 44, app/assets/stylesheets/strong_signals.scss */
.strong-signals-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 53, app/assets/stylesheets/strong_signals.scss */
.strong-signal-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "ticker name go" "meta meta go";
  align-items: center;
  column-gap: 12px;
  row-gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

/* line 70, app/assets/stylesheets/strong_signals.scss */
.strong-signal-link:hover, .strong-signal-link:focus-visible {
  border-color: rgba(204, 144, 60, 0.45);
  background: rgba(204, 144, 60, 0.06);
  color: inherit;
}

/* line 78, app/assets/stylesheets/strong_signals.scss */
.strong-signal-ticker {
  grid-area: ticker;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #f7f6f4;
}

/* line 85, app/assets/stylesheets/strong_signals.scss */
.strong-signal-name {
  grid-area: name;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.85rem;
  color: rgba(226, 232, 240, 0.75);
}

/* line 95, app/assets/stylesheets/strong_signals.scss */
.strong-signal-meta {
  grid-area: meta;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  font-size: 0.75rem;
  color: rgba(226, 232, 240, 0.6);
}

/* line 105, app/assets/stylesheets/strong_signals.scss */
.strong-signal-pill {
  padding: 2px 8px;
  border-radius: 6px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.14);
  border: 1px solid rgba(204, 144, 60, 0.35);
}

/* line 115, app/assets/stylesheets/strong_signals.scss */
.strong-signal-pill.is-very-high {
  color: #111825;
  background: #cc903c;
  border-color: #cc903c;
}

/* line 122, app/assets/stylesheets/strong_signals.scss */
.strong-signal-move {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

/* line 126, app/assets/stylesheets/strong_signals.scss */
.strong-signal-move.is-up {
  color: #86efac;
}

/* line 127, app/assets/stylesheets/strong_signals.scss */
.strong-signal-move.is-down {
  color: #fca5a5;
}

/* line 130, app/assets/stylesheets/strong_signals.scss */
.strong-signal-go {
  grid-area: go;
  color: rgba(204, 144, 60, 0.7);
}

/* line 135, app/assets/stylesheets/strong_signals.scss */
.strong-signals-note {
  margin: 12px 0 0;
  font-size: 0.72rem;
  color: rgba(226, 232, 240, 0.5);
}
/* line 14, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section .opp-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 22, app/assets/stylesheets/opportunities_table.scss */
.opp-view-switch {
  display: inline-flex;
  flex-shrink: 0;
  gap: 3px;
  margin: 0 0 1rem auto;
  padding: 3px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

/* line 35, app/assets/stylesheets/opportunities_table.scss */
.opp-view-switch__option {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  min-height: 36px;
  padding: 0 0.85rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

/* line 52, app/assets/stylesheets/opportunities_table.scss */
.opp-view-switch__option i {
  font-size: 0.75rem;
}

/* line 54, app/assets/stylesheets/opportunities_table.scss */
.opp-view-switch__option:hover {
  color: rgba(255, 255, 255, 0.85);
}

/* line 56, app/assets/stylesheets/opportunities_table.scss */
.opp-view-switch__option[aria-pressed="true"] {
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.15);
  box-shadow: inset 0 0 0 1px rgba(204, 144, 60, 0.35);
}

@media (max-width: 767.98px) {
  /* line 65, app/assets/stylesheets/opportunities_table.scss */
  .opp-view-switch {
    display: none;
  }
}

/* line 70, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section .opp-table-wrapper {
  overflow-x: auto;
  border-radius: 16px;
}

/* line 75, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table {
  margin-bottom: 0;
  background: var(--glass-bg, rgba(15, 20, 35, 0.6));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.06));
  border-radius: 16px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  box-shadow: var(--shadow-card, 0 4px 24px rgba(0, 0, 0, 0.2));
  color: var(--text-primary, #f7f6f4);
  animation: fadeIn 0.6s ease-out;
}

/* line 89, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table thead th {
  position: relative;
  padding: 0.7rem 0.5rem;
  border: none;
  color: var(--text-secondary, #94a3b8);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
}

/* line 103, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table thead th:first-child {
  border-left: 4px solid transparent;
  border-top-left-radius: 16px;
}

/* line 108, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table thead th:last-child {
  border-top-right-radius: 16px;
}

/* line 110, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-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);
}

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

/* line 132, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 16px;
}

/* line 133, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 16px;
}

/* line 138, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr {
  background: var(--bg-table-row, transparent);
}

/* line 139, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr.is-alt {
  background: var(--bg-input, rgba(255, 255, 255, 0.05));
}

/* line 140, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr.is-strong-signal {
  background: rgba(204, 144, 60, 0.06);
}

/* line 142, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr.opp-row:hover,
.opportunities-section table.opp-table tbody tr.opp-row:hover + tr.opp-details-row {
  background: var(--bg-table-row-hover, rgba(204, 144, 60, 0.05));
}

/* line 146, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr > td:first-child {
  border-left: 4px solid transparent;
}

/* line 147, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr.rec-buy > td:first-child {
  border-left-color: #22c55e;
}

/* line 148, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr.rec-sell > td:first-child {
  border-left-color: #ef4444;
}

/* line 149, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tbody tr.rec-hold > td:first-child {
  border-left-color: #cc903c;
}

/* line 151, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-rank-cell {
  width: 52px;
}

/* line 153, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-rank {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--text-muted, #64748b);
  font-variant-numeric: tabular-nums;
}

/* line 163, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .stock-cell {
  max-width: none;
}

/* line 166, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .stock-name-inline {
  display: inline-block;
  max-width: 190px;
  vertical-align: middle;
}

/* line 172, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-congress-hint {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 0.4rem;
  font-size: 0.68rem;
  color: #e0bc8a;
  text-decoration: none;
  opacity: 0.85;
  transition: opacity 0.15s ease;
}

/* line 183, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-congress-hint:hover {
  opacity: 1;
}

/* line 188, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-tags {
  flex-wrap: wrap;
  gap: 4px;
}

/* line 193, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-tag {
  padding: 2px 6px;
  border-radius: 5px;
  font-size: 0.58rem;
  letter-spacing: 0.3px;
}

/* line 199, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-tag i {
  font-size: 8px;
}

/* line 202, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .signal-display {
  gap: 5px;
}

/* line 204, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-strong-signal-badge {
  gap: 4px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.6rem;
  letter-spacing: 0.6px;
}

/* line 212, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-return {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 220, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-return.positive {
  color: #22c55e;
}

/* line 221, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-return.negative {
  color: #ef4444;
}

/* line 224, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-now {
  display: block;
  margin-top: 2px;
  font-size: 0.66rem;
  font-weight: 600;
  color: var(--text-muted, #64748b);
}

/* line 231, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-now .positive {
  color: #22c55e;
}

/* line 232, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-now .negative {
  color: #ef4444;
}

/* line 235, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-price {
  font-size: 0.92rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 241, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-table-price.is-target {
  color: var(--accent-primary, #cc903c);
}

/* line 245, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-confidence-ring-wrap,
.opportunities-section table.opp-table .opp-confidence-ring {
  width: 38px;
  height: 38px;
}

/* line 251, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-confidence-ring-wrap {
  margin: 0 auto;
}

/* line 252, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-confidence-score {
  font-size: 0.74rem;
}

/* line 254, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .details-cell {
  white-space: nowrap;
}

/* line 256, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-row-actions {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  vertical-align: middle;
}

/* line 265, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-row-actions .opp-action-done {
  width: 44px;
  height: 44px;
}

/* line 271, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table tr.opp-details-row > td {
  padding: 0 0.75rem 0.75rem;
  text-align: left;
}

/* line 276, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-details-panel {
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.03);
  font-weight: 400;
}

/* line 283, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-details-panel .opp-rationale {
  padding: 0;
}

/* line 284, app/assets/stylesheets/opportunities_table.scss */
.opportunities-section table.opp-table .opp-details-panel .opp-rationale-text {
  max-width: 110ch;
}

@media (max-width: 1279.98px) {
  /* line 295, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-rank-cell {
    display: none;
  }
  /* line 297, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table thead th.stock-col {
    border-left: 4px solid transparent;
    border-top-left-radius: 16px;
  }
  /* line 298, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table tbody tr.opp-row > td.stock-cell {
    border-left: 4px solid transparent;
  }
  /* line 299, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table tbody tr.opp-row.rec-buy > td.stock-cell {
    border-left-color: #22c55e;
  }
  /* line 300, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table tbody tr.opp-row.rec-sell > td.stock-cell {
    border-left-color: #ef4444;
  }
  /* line 301, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table tbody tr.opp-row.rec-hold > td.stock-cell {
    border-left-color: #cc903c;
  }
  /* line 303, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table thead th {
    padding: 0.6rem 0.25rem;
    font-size: 0.62rem;
    letter-spacing: 0;
  }
  /* line 304, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table tbody td {
    padding: 0.5rem 0.25rem;
  }
  /* line 306, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .stock-cell {
    padding-left: 0.5rem !important;
  }
  /* line 307, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .symbol-tag {
    font-size: 0.7rem !important;
    padding: 0.2rem 0.45rem !important;
  }
  /* line 308, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .stock-name-inline {
    font-size: 0.66rem !important;
    max-width: 110px;
  }
  /* line 309, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .action-badge.main-signal {
    font-size: 0.6rem !important;
    padding: 0.22rem 0.45rem !important;
  }
  /* line 311, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-tag {
    font-size: 0.55rem;
  }
  /* line 312, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .signal-display {
    padding: 4px;
  }
  /* line 315, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-strong-signal-badge {
    padding: 2px 6px;
    font-size: 0.55rem;
    letter-spacing: 0.4px;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }
  /* line 324, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-table-return {
    font-size: 0.92rem;
  }
  /* line 325, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-table-now {
    font-size: 0.6rem;
  }
  /* line 326, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-table-price {
    font-size: 0.82rem;
  }
  /* line 328, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-confidence-ring-wrap,
.opportunities-section table.opp-table .opp-confidence-ring {
    width: 32px;
    height: 32px;
  }
  /* line 334, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-confidence-score {
    font-size: 0.66rem;
  }
  /* line 338, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table td.details-cell {
    min-width: 0 !important;
    max-width: none !important;
  }
  /* line 343, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-row-actions {
    gap: 3px;
  }
  /* line 347, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-row-actions .opp-action-btn,
.opportunities-section table.opp-table .opp-row-actions .opp-action-done,
.opportunities-section table.opp-table .opp-row-actions .opp-details-btn {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    padding: 0 !important;
    justify-content: center;
  }
  /* line 358, app/assets/stylesheets/opportunities_table.scss */
  .opportunities-section table.opp-table .opp-details-btn .chevron-icon {
    display: none;
  }
}
/* line 33, app/assets/stylesheets/market_radar.scss */
.market-radar,
.radar-gate {
  --rd-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.042), rgba(255, 255, 255, 0.016));
  --rd-raised: rgba(255, 255, 255, 0.03);
  --rd-raised-hover: rgba(255, 255, 255, 0.055);
  --rd-border: rgba(255, 255, 255, 0.075);
  --rd-divider: rgba(255, 255, 255, 0.065);
  --rd-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 16px 36px rgba(0, 0, 0, 0.26);
  --rd-text: #f7f6f4;
  --rd-text-2: rgba(226, 232, 240, 0.78);
  --rd-text-3: rgba(203, 213, 225, 0.56);
  --rd-gold-text: #e0bc8a;
  --rd-up: #4ade80;
  --rd-down: #f87171;
  --rd-skeleton: rgba(255, 255, 255, 0.1);
  --rd-gap: 16px;
  --rd-radius: 18px;
  --tone: #cc903c;
  --tone-rgb: 204, 144, 60;
}

/* line 52, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--fg-extreme-fear,
.radar-gate .radar-tone--fg-extreme-fear {
  --tone: #ef4444;
  --tone-rgb: 239, 68, 68;
}

/* line 53, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--fg-fear,
.radar-gate .radar-tone--fg-fear {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 54, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--fg-neutral,
.radar-gate .radar-tone--fg-neutral {
  --tone: #cc903c;
  --tone-rgb: 204, 144, 60;
}

/* line 55, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--fg-greed,
.radar-gate .radar-tone--fg-greed {
  --tone: #84cc16;
  --tone-rgb: 132, 204, 22;
}

/* line 56, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--fg-extreme-greed,
.radar-gate .radar-tone--fg-extreme-greed {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 58, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--tension-critical,
.market-radar .radar-tone--severity-critical,
.radar-gate .radar-tone--tension-critical,
.radar-gate .radar-tone--severity-critical {
  --tone: #ef4444;
  --tone-rgb: 239, 68, 68;
}

/* line 60, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--tension-high,
.market-radar .radar-tone--severity-high,
.radar-gate .radar-tone--tension-high,
.radar-gate .radar-tone--severity-high {
  --tone: #f97316;
  --tone-rgb: 249, 115, 22;
}

/* line 62, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--tension-elevated,
.market-radar .radar-tone--severity-elevated,
.radar-gate .radar-tone--tension-elevated,
.radar-gate .radar-tone--severity-elevated {
  --tone: #cc903c;
  --tone-rgb: 204, 144, 60;
}

/* line 64, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--severity-moderate,
.radar-gate .radar-tone--severity-moderate {
  --tone: #60a5fa;
  --tone-rgb: 96, 165, 250;
}

/* line 65, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--tension-calm,
.market-radar .radar-tone--calm,
.radar-gate .radar-tone--tension-calm,
.radar-gate .radar-tone--calm {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 67, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--gold,
.radar-gate .radar-tone--gold {
  --tone: #e0bc8a;
  --tone-rgb: 224, 188, 138;
}

/* line 68, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-tone--pending,
.radar-gate .radar-tone--pending {
  --tone: #94a3b8;
  --tone-rgb: 148, 163, 184;
}

/* line 72, app/assets/stylesheets/market_radar.scss */
.market-radar {
  max-width: 1440px;
  margin: 0 auto;
  padding: 2px 0 12px;
}

/* line 79, app/assets/stylesheets/market_radar.scss */
.radar-hero {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 18px;
  margin: 2px 0 14px;
}

/* line 87, app/assets/stylesheets/market_radar.scss */
.radar-hero-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 93, app/assets/stylesheets/market_radar.scss */
.radar-pro-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.12);
  border: 1px solid rgba(204, 144, 60, 0.32);
}

/* line 107, app/assets/stylesheets/market_radar.scss */
.radar-pro-pill i {
  font-size: 0.6rem;
}

/* line 110, app/assets/stylesheets/market_radar.scss */
.radar-title {
  margin: 0;
  font-family: var(--police-titre);
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--rd-text);
}

/* line 120, app/assets/stylesheets/market_radar.scss */
.radar-promise {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--rd-text-3);
}

/* line 128, app/assets/stylesheets/market_radar.scss */
.radar-glance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: var(--rd-gap);
}

/* line 135, app/assets/stylesheets/market_radar.scss */
.radar-tile {
  appearance: none;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-width: 0;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--rd-border);
  background: radial-gradient(120% 90% at 0% 0%, rgba(var(--tone-rgb), 0.1), transparent 55%), var(--rd-surface);
  color: inherit;
  font: inherit;
  text-align: left;
  overflow: hidden;
}

/* line 155, app/assets/stylesheets/market_radar.scss */
.radar-tile::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, var(--tone), rgba(var(--tone-rgb), 0) 85%);
}

/* line 164, app/assets/stylesheets/market_radar.scss */
button.radar-tile {
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 168, app/assets/stylesheets/market_radar.scss */
button.radar-tile:hover, button.radar-tile:focus-visible {
  border-color: rgba(var(--tone-rgb), 0.45);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}

/* line 174, app/assets/stylesheets/market_radar.scss */
button.radar-tile:hover .radar-tile-go, button.radar-tile:focus-visible .radar-tile-go {
  opacity: 1;
  transform: none;
}

/* line 177, app/assets/stylesheets/market_radar.scss */
button.radar-tile:focus-visible {
  outline: 2px solid #cc903c;
  outline-offset: 2px;
}

/* line 183, app/assets/stylesheets/market_radar.scss */
.radar-tile-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rd-text-3);
}

/* line 195, app/assets/stylesheets/market_radar.scss */
.radar-tile-go {
  font-size: 0.68rem;
  color: var(--tone);
  opacity: 0;
  transform: translateY(-3px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* line 204, app/assets/stylesheets/market_radar.scss */
.radar-tile-main {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px 10px;
  min-width: 0;
}

/* line 212, app/assets/stylesheets/market_radar.scss */
.radar-tile-value {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  color: var(--rd-text);
}

/* line 223, app/assets/stylesheets/market_radar.scss */
.radar-tile-value small {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--rd-text-3);
}

/* line 229, app/assets/stylesheets/market_radar.scss */
.radar-tile-value .radar-tile-prefix {
  margin-right: 4px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--tone);
}

/* line 238, app/assets/stylesheets/market_radar.scss */
.radar-tile-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--tone);
}

/* line 249, app/assets/stylesheets/market_radar.scss */
.radar-tile-dot {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tone);
  box-shadow: 0 0 0 3px rgba(var(--tone-rgb), 0.18);
}

@media (max-width: 1399.98px) {
  /* line 261, app/assets/stylesheets/market_radar.scss */
  .radar-tile-main {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
}

/* line 269, app/assets/stylesheets/market_radar.scss */
.radar-tile-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 12px;
  margin-top: auto;
}

/* line 277, app/assets/stylesheets/market_radar.scss */
.radar-tile-detail {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  color: var(--rd-text-3);
}

/* line 284, app/assets/stylesheets/market_radar.scss */
.radar-meter {
  display: block;
  flex: 1;
  min-width: 0;
}

/* line 291, app/assets/stylesheets/market_radar.scss */
.radar-meter--fg {
  position: relative;
  height: 6px;
  padding: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef4444, #f97316 28%, #cc903c 50%, #84cc16 72%, #22c55e);
  opacity: 0.92;
}

/* line 300, app/assets/stylesheets/market_radar.scss */
.radar-meter-marker {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #f7f6f4;
  border: 2px solid #000615;
  box-shadow: 0 0 0 2px rgba(var(--tone-rgb), 0.6);
  transform: translate(-50%, -50%);
}

/* line 312, app/assets/stylesheets/market_radar.scss */
.radar-meter--steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
}

/* line 318, app/assets/stylesheets/market_radar.scss */
.radar-meter-step {
  height: 6px;
  border-radius: 999px;
  background: var(--rd-skeleton);
}

/* line 323, app/assets/stylesheets/market_radar.scss */
.radar-meter-step.is-lit {
  background: var(--tone);
}

/* line 327, app/assets/stylesheets/market_radar.scss */
.radar-meter--dots {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

/* line 333, app/assets/stylesheets/market_radar.scss */
.radar-meter-pip {
  width: 22px;
  height: 6px;
  border-radius: 999px;
  background: var(--tone);
  box-shadow: 0 0 10px rgba(var(--tone-rgb), 0.35);
}

/* line 346, app/assets/stylesheets/market_radar.scss */
.radar-board {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 352, app/assets/stylesheets/market_radar.scss */
.radar-notices {
  display: grid;
  gap: 10px;
}

/* line 356, app/assets/stylesheets/market_radar.scss */
.radar-notices .data-notice {
  margin: 0;
}

/* line 359, app/assets/stylesheets/market_radar.scss */
.radar-board-col {
  display: contents;
}

@media (min-width: 1200px), (min-width: 900px) and (max-width: 1024.98px) {
  /* line 362, app/assets/stylesheets/market_radar.scss */
  .radar-board {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: var(--rd-gap);
    align-items: start;
  }
  /* line 369, app/assets/stylesheets/market_radar.scss */
  .radar-notices {
    grid-column: 1 / -1;
  }
  /* line 371, app/assets/stylesheets/market_radar.scss */
  .radar-board-col {
    display: flex;
    flex-direction: column;
    gap: var(--rd-gap);
    min-width: 0;
  }
}

/* line 379, app/assets/stylesheets/market_radar.scss */
.radar-card,
.radar-slot {
  position: relative;
  min-width: 0;
  border-radius: var(--rd-radius);
  scroll-margin-top: 16px;
}

/* line 386, app/assets/stylesheets/market_radar.scss */
.radar-card:focus,
.radar-slot:focus {
  outline: none;
}

/* line 389, app/assets/stylesheets/market_radar.scss */
.radar-card::after,
.radar-slot::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  border: 1px solid rgba(204, 144, 60, 0.75);
  box-shadow: 0 0 0 4px rgba(204, 144, 60, 0.12), 0 0 44px rgba(204, 144, 60, 0.22);
  opacity: 0;
  pointer-events: none;
}

/* line 400, app/assets/stylesheets/market_radar.scss */
.radar-card.is-spotlit::after,
.radar-slot.is-spotlit::after {
  animation: radar-spotlight 2.4s ease forwards;
}

@keyframes radar-spotlight {
  0% {
    opacity: 0;
  }
  12%, 65% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* line 409, app/assets/stylesheets/market_radar.scss */
.radar-card {
  padding: 18px 20px 20px;
  border: 1px solid var(--rd-border);
  background: var(--rd-surface);
  box-shadow: var(--rd-shadow);
}

/* line 416, app/assets/stylesheets/market_radar.scss */
.radar-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

/* line 423, app/assets/stylesheets/market_radar.scss */
.radar-card-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 0.82rem;
  color: var(--tone);
  background: rgba(var(--tone-rgb), 0.12);
  border: 1px solid rgba(var(--tone-rgb), 0.3);
}

/* line 436, app/assets/stylesheets/market_radar.scss */
.radar-card-heading {
  flex: 1;
  min-width: 0;
}

/* line 441, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-card-title,
.radar-gate .radar-card-title {
  margin: 0;
  font-family: var(--police-texte);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--rd-text);
}

/* line 452, app/assets/stylesheets/market_radar.scss */
.radar-card-subtitle {
  margin-top: 2px;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--rd-text-3);
}

/* line 459, app/assets/stylesheets/market_radar.scss */
.radar-card-meta {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 466, app/assets/stylesheets/market_radar.scss */
.radar-updated {
  font-size: 0.74rem;
  color: var(--rd-text-3);
}

/* line 470, app/assets/stylesheets/market_radar.scss */
.radar-updated i {
  margin-right: 2px;
  font-size: 0.68rem;
}

/* line 473, app/assets/stylesheets/market_radar.scss */
.radar-count {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--tone);
  background: rgba(var(--tone-rgb), 0.14);
  border: 1px solid rgba(var(--tone-rgb), 0.3);
}

/* line 488, app/assets/stylesheets/market_radar.scss */
.radar-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.74rem;
  color: var(--rd-text-3);
  white-space: nowrap;
}

/* line 496, app/assets/stylesheets/market_radar.scss */
.radar-status.is-live {
  color: #86efac;
}

/* line 499, app/assets/stylesheets/market_radar.scss */
.radar-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* line 506, app/assets/stylesheets/market_radar.scss */
.radar-status.is-live .radar-status-dot {
  animation: radar-live 1.8s ease-out infinite;
}

/* line 509, app/assets/stylesheets/market_radar.scss */
.radar-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--tone);
  background: rgba(var(--tone-rgb), 0.12);
  border: 1px solid rgba(var(--tone-rgb), 0.3);
}

/* line 526, app/assets/stylesheets/market_radar.scss */
.radar-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* line 532, app/assets/stylesheets/market_radar.scss */
.radar-tag {
  padding: 0 7px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.65;
  white-space: nowrap;
  color: var(--rd-text-2);
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 544, app/assets/stylesheets/market_radar.scss */
.radar-move {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* line 549, app/assets/stylesheets/market_radar.scss */
.radar-move.is-up {
  color: var(--rd-up);
}

/* line 550, app/assets/stylesheets/market_radar.scss */
.radar-move.is-down {
  color: var(--rd-down);
}

/* line 551, app/assets/stylesheets/market_radar.scss */
.radar-move.is-flat {
  color: var(--rd-text-3);
}

/* line 553, app/assets/stylesheets/market_radar.scss */
.radar-move i {
  font-size: 0.7em;
}

/* line 554, app/assets/stylesheets/market_radar.scss */
.radar-move small {
  font-weight: 500;
}

/* line 557, app/assets/stylesheets/market_radar.scss */
.radar-clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  margin: 0;
  overflow: hidden;
}

/* line 567, app/assets/stylesheets/market_radar.scss */
.radar-text {
  margin: 0;
  font-family: var(--police-texte);
  font-weight: 400;
  letter-spacing: 0;
}

/* line 574, app/assets/stylesheets/market_radar.scss */
.radar-text--sm {
  font-size: 0.8rem;
  line-height: 1.5;
}

/* line 575, app/assets/stylesheets/market_radar.scss */
.radar-text--md {
  font-size: 0.88rem;
  line-height: 1.55;
}

/* line 576, app/assets/stylesheets/market_radar.scss */
.radar-text--lg {
  font-size: 0.93rem;
  line-height: 1.6;
}

/* line 578, app/assets/stylesheets/market_radar.scss */
.radar-clamp--2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* line 579, app/assets/stylesheets/market_radar.scss */
.radar-clamp--3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

/* line 580, app/assets/stylesheets/market_radar.scss */
.radar-clamp--4 {
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

/* line 584, app/assets/stylesheets/market_radar.scss */
.market-radar .read-more-trigger {
  display: inline-block;
  margin-top: 4px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--rd-gold-text) !important;
  cursor: pointer;
}

/* line 592, app/assets/stylesheets/market_radar.scss */
.market-radar .read-more-trigger:hover {
  text-decoration: underline;
}

/* line 595, app/assets/stylesheets/market_radar.scss */
.radar-footnote {
  display: flex;
  gap: 8px;
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--rd-divider);
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--rd-text-2);
}

/* line 605, app/assets/stylesheets/market_radar.scss */
.radar-footnote i {
  margin-top: 3px;
  font-size: 0.72rem;
  color: var(--rd-gold-text);
}

/* line 606, app/assets/stylesheets/market_radar.scss */
.radar-footnote strong {
  font-weight: 600;
  color: var(--rd-text);
}

/* line 609, app/assets/stylesheets/market_radar.scss */
.radar-empty {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 4px 0 2px;
}

/* line 616, app/assets/stylesheets/market_radar.scss */
.radar-empty-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: var(--rd-text-3);
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 628, app/assets/stylesheets/market_radar.scss */
.radar-empty-title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--rd-text);
}

/* line 635, app/assets/stylesheets/market_radar.scss */
.radar-empty-text {
  margin: 3px 0 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--rd-text-2);
}

/* line 643, app/assets/stylesheets/market_radar.scss */
.radar-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 649, app/assets/stylesheets/market_radar.scss */
.radar-item {
  padding: 10px 0;
  border-top: 1px solid var(--rd-divider);
}

/* line 653, app/assets/stylesheets/market_radar.scss */
.radar-item:first-child {
  padding-top: 0;
  border-top: 0;
}

/* line 654, app/assets/stylesheets/market_radar.scss */
.radar-item:last-child {
  padding-bottom: 0;
}

/* line 657, app/assets/stylesheets/market_radar.scss */
.radar-item-row {
  display: flex;
  align-items: baseline;
  gap: 6px 10px;
  min-width: 0;
}

/* line 664, app/assets/stylesheets/market_radar.scss */
.radar-item-row--wrap {
  flex-wrap: wrap;
}

/* line 666, app/assets/stylesheets/market_radar.scss */
.radar-item-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--rd-text);
}

/* line 674, app/assets/stylesheets/market_radar.scss */
.radar-item-name small {
  margin-left: 3px;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--rd-text-3);
}

/* line 682, app/assets/stylesheets/market_radar.scss */
.radar-item-figure {
  font-size: 0.84rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--rd-text);
}

/* line 690, app/assets/stylesheets/market_radar.scss */
.radar-item-aside {
  font-size: 0.76rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: var(--rd-text-3);
}

/* line 697, app/assets/stylesheets/market_radar.scss */
.radar-item-pills {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}

/* line 703, app/assets/stylesheets/market_radar.scss */
.radar-item-text,
.radar-item-text p {
  color: var(--rd-text-2);
}

/* line 706, app/assets/stylesheets/market_radar.scss */
.radar-item-text {
  margin-top: 3px;
}

/* line 708, app/assets/stylesheets/market_radar.scss */
.radar-item .radar-tags {
  margin-top: 7px;
}

/* line 710, app/assets/stylesheets/market_radar.scss */
.radar-item-warning {
  margin: 4px 0 0;
  font-size: 0.76rem;
  color: #fbbf24;
}

/* line 716, app/assets/stylesheets/market_radar.scss */
.radar-ticker {
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--rd-text);
}

/* line 724, app/assets/stylesheets/market_radar.scss */
.radar-list--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 8px;
}

/* line 729, app/assets/stylesheets/market_radar.scss */
.radar-list--grid .radar-item {
  padding: 10px 12px;
  border: 1px solid var(--rd-border);
  border-radius: 12px;
  background: var(--rd-raised);
}

/* line 736, app/assets/stylesheets/market_radar.scss */
.radar-list--grid .radar-item-row {
  align-items: center;
}

/* line 737, app/assets/stylesheets/market_radar.scss */
.radar-list--grid .radar-item-aside {
  margin-left: auto;
}

/* line 741, app/assets/stylesheets/market_radar.scss */
.radar-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px 24px;
}

/* line 747, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-group-title,
.radar-gate .radar-group-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 8px;
  font-family: var(--police-texte);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--tone);
}

/* line 762, app/assets/stylesheets/market_radar.scss */
.radar-callout {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--rd-text-2);
  background: rgba(var(--tone-rgb), 0.1);
  border: 1px solid rgba(var(--tone-rgb), 0.3);
}

/* line 775, app/assets/stylesheets/market_radar.scss */
.radar-callout > i {
  margin-top: 3px;
  color: var(--tone);
}

/* line 776, app/assets/stylesheets/market_radar.scss */
.radar-callout strong {
  color: var(--rd-text);
}

/* line 779, app/assets/stylesheets/market_radar.scss */
.radar-moods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

/* line 786, app/assets/stylesheets/market_radar.scss */
.radar-mood {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px 4px 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 797, app/assets/stylesheets/market_radar.scss */
.radar-mood::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mood);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.04);
}

/* line 807, app/assets/stylesheets/market_radar.scss */
.radar-mood-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rd-text-3);
}

/* line 815, app/assets/stylesheets/market_radar.scss */
.radar-mood-value {
  font-weight: 700;
  color: var(--rd-text);
}

/* line 820, app/assets/stylesheets/market_radar.scss */
.radar-brief-summary p {
  color: var(--rd-text);
}

/* line 822, app/assets/stylesheets/market_radar.scss */
.radar-readings {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

/* line 829, app/assets/stylesheets/market_radar.scss */
.radar-reading {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 840, app/assets/stylesheets/market_radar.scss */
.radar-reading--fgi {
  grid-column: span 2;
}

/* line 842, app/assets/stylesheets/market_radar.scss */
.radar-reading-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rd-text-3);
}

/* line 850, app/assets/stylesheets/market_radar.scss */
.radar-reading-figures {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

/* line 855, app/assets/stylesheets/market_radar.scss */
.radar-reading-figures .radar-move {
  font-size: 0.8rem;
}

/* line 858, app/assets/stylesheets/market_radar.scss */
.radar-reading-value {
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  color: var(--rd-text);
}

/* line 866, app/assets/stylesheets/market_radar.scss */
.radar-reading-state {
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--tone);
}

/* line 872, app/assets/stylesheets/market_radar.scss */
.radar-reading-points {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 20px;
}

/* line 878, app/assets/stylesheets/market_radar.scss */
.radar-reading-point {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

/* line 883, app/assets/stylesheets/market_radar.scss */
.radar-reading-point .radar-reading-value {
  color: var(--tone);
}

/* line 886, app/assets/stylesheets/market_radar.scss */
.radar-reading-when {
  font-size: 0.72rem;
  color: var(--rd-text-3);
}

/* line 891, app/assets/stylesheets/market_radar.scss */
.radar-reading-note {
  margin-top: 10px;
}

/* line 894, app/assets/stylesheets/market_radar.scss */
.radar-reading-note p {
  color: var(--rd-text-3);
}

/* line 898, app/assets/stylesheets/market_radar.scss */
.radar-alerts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 907, app/assets/stylesheets/market_radar.scss */
.radar-alert {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 915, app/assets/stylesheets/market_radar.scss */
.radar-alert::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--tone);
}

/* line 924, app/assets/stylesheets/market_radar.scss */
.radar-alert-head {
  appearance: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "icon title chevron" ". tags tags";
  align-items: start;
  gap: 6px 10px;
  width: 100%;
  padding: 11px 12px 11px 15px;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease;
}

/* line 943, app/assets/stylesheets/market_radar.scss */
.radar-alert-head:hover {
  background: var(--rd-raised-hover);
}

/* line 945, app/assets/stylesheets/market_radar.scss */
.radar-alert-head:focus-visible {
  outline: 2px solid #e0bc8a;
  outline-offset: -2px;
}

/* line 951, app/assets/stylesheets/market_radar.scss */
.radar-alert-icon {
  grid-area: icon;
  margin-top: 3px;
  font-size: 0.85rem;
  color: var(--tone);
}

/* line 958, app/assets/stylesheets/market_radar.scss */
.radar-alert-title {
  grid-area: title;
  min-width: 0;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--rd-text);
}

/* line 967, app/assets/stylesheets/market_radar.scss */
.radar-alert-tags {
  grid-area: tags;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  min-width: 0;
}

/* line 976, app/assets/stylesheets/market_radar.scss */
.radar-alert-move {
  font-size: 0.78rem;
}

/* line 978, app/assets/stylesheets/market_radar.scss */
.radar-alert-chevron {
  grid-area: chevron;
  margin-top: 5px;
  font-size: 0.68rem;
  color: var(--rd-text-3);
  transition: transform 0.2s ease;
}

/* line 989, app/assets/stylesheets/market_radar.scss */
.radar-alert-preview {
  margin: -4px 14px 11px 40px;
  color: var(--rd-text-2);
}

/* line 994, app/assets/stylesheets/market_radar.scss */
.radar-alert-body {
  display: none;
  padding: 0 14px 12px 40px;
}

/* line 1000, app/assets/stylesheets/market_radar.scss */
.radar-alert.is-open .radar-alert-body {
  display: block;
}

/* line 1001, app/assets/stylesheets/market_radar.scss */
.radar-alert.is-open .radar-alert-chevron {
  transform: rotate(180deg);
}

/* line 1004, app/assets/stylesheets/market_radar.scss */
.radar-alert-message {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--rd-text-2);
}

/* line 1011, app/assets/stylesheets/market_radar.scss */
.radar-alert-line {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 8px 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--rd-text-2);
}

/* line 1021, app/assets/stylesheets/market_radar.scss */
.radar-alert-line > i {
  margin-top: 4px;
  font-size: 0.7rem;
  color: var(--rd-gold-text);
}

/* line 1022, app/assets/stylesheets/market_radar.scss */
.radar-alert-line > span {
  flex: 1;
  min-width: 0;
}

/* line 1023, app/assets/stylesheets/market_radar.scss */
.radar-alert-line strong {
  font-weight: 600;
  color: var(--rd-text);
}

/* line 1026, app/assets/stylesheets/market_radar.scss */
.radar-alert-action {
  padding: 8px 10px;
  border-radius: 10px;
  color: var(--rd-text);
  background: rgba(var(--tone-rgb), 0.08);
}

/* line 1032, app/assets/stylesheets/market_radar.scss */
.radar-alert-action.is-bullish {
  --tone: #22c55e;
  --tone-rgb: 34, 197, 94;
}

/* line 1033, app/assets/stylesheets/market_radar.scss */
.radar-alert-action.is-bearish {
  --tone: #ef4444;
  --tone-rgb: 239, 68, 68;
}

/* line 1034, app/assets/stylesheets/market_radar.scss */
.radar-alert-action.is-neutral {
  --tone: #cc903c;
  --tone-rgb: 204, 144, 60;
}

/* line 1036, app/assets/stylesheets/market_radar.scss */
.radar-alert-action > i {
  color: var(--tone);
}

/* line 1039, app/assets/stylesheets/market_radar.scss */
.radar-alert-stocks {
  align-items: center;
}

/* line 1042, app/assets/stylesheets/market_radar.scss */
.radar-alert-stocks .radar-tags {
  flex: 1;
}

/* line 1045, app/assets/stylesheets/market_radar.scss */
.radar-alert-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--rd-text-3);
}

/* line 1053, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-card {
  margin-bottom: 0 !important;
  padding: 18px 20px 20px;
  border-radius: var(--rd-radius);
  border: 1px solid rgba(204, 144, 60, 0.3);
  background: radial-gradient(120% 100% at 0% 0%, rgba(204, 144, 60, 0.12), transparent 60%), var(--rd-surface);
  box-shadow: var(--rd-shadow);
}

/* line 1065, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-head {
  align-items: center;
  margin-bottom: 12px;
}

/* line 1070, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--police-texte);
  font-size: 1rem;
  line-height: 1.3;
  color: var(--rd-text);
}

/* line 1079, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-title i {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  border-radius: 10px;
  font-size: 0.82rem;
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.14);
  border: 1px solid rgba(204, 144, 60, 0.34);
}

/* line 1094, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-subtitle {
  margin: 4px 0 0 44px;
  font-size: 0.78rem;
  color: var(--rd-text-3);
}

/* line 1100, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-list {
  gap: 6px;
}

/* line 1102, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signal-link {
  padding: 9px 12px;
  background: var(--rd-raised);
  border-color: var(--rd-border);
}

/* line 1108, app/assets/stylesheets/market_radar.scss */
.market-radar .strong-signals-note {
  margin-top: 10px;
  color: var(--rd-text-3);
}

/* line 1117, app/assets/stylesheets/market_radar.scss */
.radar-risk {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 12px;
}

/* line 1125, app/assets/stylesheets/market_radar.scss */
.radar-risk-score {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

/* line 1130, app/assets/stylesheets/market_radar.scss */
.radar-risk-score small {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--rd-text-3);
}

/* line 1137, app/assets/stylesheets/market_radar.scss */
.radar-risk-value {
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--rd-text);
}

/* line 1145, app/assets/stylesheets/market_radar.scss */
.radar-risk-trend {
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--tone);
}

/* line 1152, app/assets/stylesheets/market_radar.scss */
.radar-risk-meter {
  flex: 1 1 120px;
  display: block;
  min-width: 100px;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--rd-skeleton);
}

/* line 1161, app/assets/stylesheets/market_radar.scss */
.radar-risk-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(var(--tone-rgb), 0.5), var(--tone));
}

/* line 1169, app/assets/stylesheets/market_radar.scss */
.radar-risk-summary {
  margin-top: 12px;
}

/* line 1172, app/assets/stylesheets/market_radar.scss */
.radar-risk-summary p {
  color: var(--rd-text);
}

/* line 1178, app/assets/stylesheets/market_radar.scss */
.radar-crises {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 1183, app/assets/stylesheets/market_radar.scss */
.radar-crises:not(.is-expanded) .crisis-card-compact.is-overflow {
  display: none;
}

/* line 1186, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  grid-template-areas: "emoji title badge" "emoji desc desc" "emoji regions regions";
  gap: 3px 10px;
  width: auto;
  min-width: 0;
  flex: none;
  margin: 0;
  padding: 11px 12px 11px 13px;
  border-radius: 12px;
  border: 1px solid var(--rd-border);
  border-left: 3px solid #60a5fa;
  background: var(--rd-raised);
}

/* line 1204, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact.crisis-critical {
  border-left-color: #ef4444;
}

/* line 1205, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact.crisis-high {
  border-left-color: #f97316;
}

/* line 1206, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact.crisis-elevated {
  border-left-color: #cc903c;
}

/* line 1207, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact.crisis-context {
  border-left-color: var(--rd-border);
}

@media (hover: hover) {
  /* line 1210, app/assets/stylesheets/market_radar.scss */
  .market-radar .radar-crises .crisis-card-compact:hover {
    transform: none;
    background: var(--rd-raised-hover);
  }
}

/* line 1216, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-compact-header {
  display: contents;
}

/* line 1218, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-emoji {
  grid-area: emoji;
  font-size: 1.05rem;
  line-height: 1.35;
}

/* line 1224, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-severity-badge,
.market-radar .radar-crises .crisis-card-compact .crisis-context-tag {
  grid-area: badge;
  align-self: start;
  justify-self: end;
}

/* line 1231, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-severity-badge {
  min-width: 22px;
  padding: 1px 7px;
  border-radius: 6px;
  font-size: 0.7rem;
  text-align: center;
}

/* line 1239, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-context-tag {
  padding: 1px 7px;
  border-radius: 6px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rd-text-3);
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 1251, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-compact-title {
  grid-area: title;
  margin: 0;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--rd-text);
}

/* line 1260, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-compact-desc {
  grid-area: desc;
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--rd-text-2);
}

/* line 1268, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-compact-regions {
  grid-area: regions;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

/* line 1275, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .crisis-compact-regions:empty {
  display: none;
}

/* line 1278, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-crises .crisis-card-compact .region-tag {
  padding: 0 6px;
  border-radius: 5px;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #93c5fd;
  background: rgba(96, 165, 250, 0.14);
}

/* line 1291, app/assets/stylesheets/market_radar.scss */
.radar-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--rd-border);
  background: var(--rd-raised);
  color: var(--rd-text-2);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 1310, app/assets/stylesheets/market_radar.scss */
.radar-more:hover {
  background: var(--rd-raised-hover);
  color: var(--rd-text);
}

/* line 1315, app/assets/stylesheets/market_radar.scss */
.radar-more:focus-visible {
  outline: 2px solid #e0bc8a;
  outline-offset: 2px;
}

/* line 1320, app/assets/stylesheets/market_radar.scss */
.radar-more i {
  font-size: 0.62rem;
}

/* line 1327, app/assets/stylesheets/market_radar.scss */
.radar-map {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid var(--rd-border);
  background: #0b1220;
}

/* line 1337, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .geo-map-container {
  flex: none;
  height: 300px;
  min-height: 0;
}

/* line 1343, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .osiris-map-wrapper {
  min-height: 0;
  border-radius: 0;
}

/* line 1348, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .osiris-iframe {
  height: 340px;
  border-radius: 0;
}

/* line 1355, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .osiris-touch-guard {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: rgba(0, 6, 21, 0.35);
  cursor: pointer;
  transition: opacity 0.18s ease;
}

/* line 1369, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .osiris-touch-guard.is-dismissed {
  opacity: 0;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  /* line 1355, app/assets/stylesheets/market_radar.scss */
  .market-radar .radar-map .osiris-touch-guard {
    display: none;
  }
}

/* line 1377, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .osiris-touch-guard-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  color: #f7f6f4;
  background: rgba(17, 24, 39, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* line 1388, app/assets/stylesheets/market_radar.scss */
.market-radar .radar-map .osiris-touch-guard-pill i {
  color: #e0bc8a;
}

/* line 1392, app/assets/stylesheets/market_radar.scss */
.radar-map-status,
.radar-legend {
  position: absolute;
  z-index: 1001;
  font-size: 0.68rem;
  color: #cbd5e1;
  background: rgba(0, 6, 21, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  pointer-events: none;
}

/* line 1405, app/assets/stylesheets/market_radar.scss */
.radar-map-status {
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-weight: 600;
}

/* line 1415, app/assets/stylesheets/market_radar.scss */
.radar-map-status.is-live {
  color: #86efac;
}

/* line 1418, app/assets/stylesheets/market_radar.scss */
.radar-legend {
  left: 10px;
  bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  max-width: calc(100% - 20px);
  margin: 0;
  padding: 5px 10px;
  border-radius: 10px;
  list-style: none;
}

/* line 1430, app/assets/stylesheets/market_radar.scss */
.radar-legend li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 1437, app/assets/stylesheets/market_radar.scss */
.radar-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* line 1442, app/assets/stylesheets/market_radar.scss */
.radar-legend-dot.is-critical {
  background: #ef4444;
}

/* line 1443, app/assets/stylesheets/market_radar.scss */
.radar-legend-dot.is-high {
  background: #f97316;
}

/* line 1444, app/assets/stylesheets/market_radar.scss */
.radar-legend-dot.is-elevated {
  background: #cc903c;
}

/* line 1446, app/assets/stylesheets/market_radar.scss */
.radar-legend-dot.is-market {
  border-radius: 3px;
  border: 1.5px solid #94a3b8;
}

/* line 1453, app/assets/stylesheets/market_radar.scss */
.radar-impact-lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 14px;
}

/* line 1461, app/assets/stylesheets/market_radar.scss */
.radar-impact-text p {
  color: var(--rd-text-2);
}

/* line 1463, app/assets/stylesheets/market_radar.scss */
.radar-split--impact {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

/* line 1465, app/assets/stylesheets/market_radar.scss */
.radar-prob {
  flex-shrink: 0;
  padding: 1px 9px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--tone);
  background: rgba(var(--tone-rgb), 0.12);
}

@media (max-width: 899.98px), (min-width: 1025px) and (max-width: 1199.98px) {
  /* line 1480, app/assets/stylesheets/market_radar.scss */
  .radar-card--risk {
    order: 1;
  }
  /* line 1481, app/assets/stylesheets/market_radar.scss */
  .radar-card--alerts {
    order: 2;
  }
  /* line 1482, app/assets/stylesheets/market_radar.scss */
  .radar-card--crises {
    order: 3;
  }
  /* line 1483, app/assets/stylesheets/market_radar.scss */
  .radar-card--brief {
    order: 4;
  }
  /* line 1484, app/assets/stylesheets/market_radar.scss */
  .radar-card--signals {
    order: 5;
  }
  /* line 1485, app/assets/stylesheets/market_radar.scss */
  .radar-card--sectors {
    order: 6;
  }
  /* line 1486, app/assets/stylesheets/market_radar.scss */
  .radar-card--impact {
    order: 7;
  }
  /* line 1487, app/assets/stylesheets/market_radar.scss */
  .radar-card--commodities {
    order: 8;
  }
  /* line 1488, app/assets/stylesheets/market_radar.scss */
  .radar-card--trending {
    order: 9;
  }
  /* line 1489, app/assets/stylesheets/market_radar.scss */
  .radar-card--events {
    order: 10;
  }
  /* line 1490, app/assets/stylesheets/market_radar.scss */
  .radar-card--topics {
    order: 11;
  }
  /* line 1491, app/assets/stylesheets/market_radar.scss */
  .radar-card--predictions {
    order: 12;
  }
  /* line 1495, app/assets/stylesheets/market_radar.scss */
  .radar-board--preview .radar-card--signals {
    order: 4;
  }
  /* line 1496, app/assets/stylesheets/market_radar.scss */
  .radar-board--preview .radar-card--brief {
    order: 5;
  }
}

@media (max-width: 767.98px) {
  /* line 1504, app/assets/stylesheets/market_radar.scss */
  .market-radar,
.radar-gate {
    --rd-radius: 16px;
  }
  /* line 1507, app/assets/stylesheets/market_radar.scss */
  .market-radar {
    padding-bottom: 20px;
  }
  /* line 1509, app/assets/stylesheets/market_radar.scss */
  .radar-hero {
    min-height: 44px;
    margin: calc(12px + env(safe-area-inset-top, 0px)) 0 14px;
    padding-left: 56px;
  }
  /* line 1516, app/assets/stylesheets/market_radar.scss */
  body.webview-mode .radar-hero {
    margin-top: calc(10px + env(safe-area-inset-top, 0px));
  }
  /* line 1518, app/assets/stylesheets/market_radar.scss */
  .radar-pro-pill {
    display: none;
  }
  /* line 1520, app/assets/stylesheets/market_radar.scss */
  .radar-hero {
    display: block;
  }
  /* line 1524, app/assets/stylesheets/market_radar.scss */
  .radar-title {
    font-size: 1.45rem;
    line-height: 44px;
  }
  /* line 1529, app/assets/stylesheets/market_radar.scss */
  .radar-promise {
    margin: 2px 0 0 -56px;
    font-size: 0.88rem;
  }
  /* line 1534, app/assets/stylesheets/market_radar.scss */
  .radar-glance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
  }
  /* line 1540, app/assets/stylesheets/market_radar.scss */
  .radar-tile {
    min-height: 0;
    padding: 12px 12px 11px;
    border-radius: 14px;
  }
  /* line 1546, app/assets/stylesheets/market_radar.scss */
  .radar-tile-label {
    font-size: 0.58rem;
    letter-spacing: 0.06em;
  }
  /* line 1552, app/assets/stylesheets/market_radar.scss */
  .radar-tile-go {
    display: none;
  }
  /* line 1554, app/assets/stylesheets/market_radar.scss */
  .radar-tile-value {
    font-size: 1.45rem;
  }
  /* line 1555, app/assets/stylesheets/market_radar.scss */
  .radar-tile-status {
    font-size: 0.76rem;
  }
  /* line 1556, app/assets/stylesheets/market_radar.scss */
  .radar-tile-detail {
    font-size: 0.68rem;
  }
  /* line 1557, app/assets/stylesheets/market_radar.scss */
  .radar-meter-pip {
    width: 16px;
  }
  /* line 1559, app/assets/stylesheets/market_radar.scss */
  .radar-card,
.radar-slot {
    scroll-margin-top: calc(68px + env(safe-area-inset-top, 0px));
  }
  /* line 1562, app/assets/stylesheets/market_radar.scss */
  .radar-card,
.market-radar .strong-signals-card {
    padding: 15px 14px 16px;
  }
  /* line 1565, app/assets/stylesheets/market_radar.scss */
  .radar-card-head {
    gap: 10px;
    margin-bottom: 12px;
  }
  /* line 1570, app/assets/stylesheets/market_radar.scss */
  .radar-card-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
  }
  /* line 1576, app/assets/stylesheets/market_radar.scss */
  .market-radar .radar-card-title,
.radar-gate .radar-card-title {
    font-size: 0.95rem;
  }
  /* line 1579, app/assets/stylesheets/market_radar.scss */
  .market-radar .strong-signals-subtitle {
    margin-left: 0;
  }
  /* line 1581, app/assets/stylesheets/market_radar.scss */
  .radar-reading--fgi {
    grid-column: auto;
  }
  /* line 1583, app/assets/stylesheets/market_radar.scss */
  .radar-alert-head {
    padding: 10px 10px 10px 13px;
  }
  /* line 1585, app/assets/stylesheets/market_radar.scss */
  .radar-alert-preview {
    margin: -4px 12px 11px 36px;
  }
  /* line 1586, app/assets/stylesheets/market_radar.scss */
  .radar-alert-body {
    padding: 0 12px 12px 36px;
  }
  /* line 1588, app/assets/stylesheets/market_radar.scss */
  .market-radar .radar-map .geo-map-container {
    height: 240px;
  }
  /* line 1591, app/assets/stylesheets/market_radar.scss */
  .radar-legend {
    position: static;
    max-width: none;
    padding: 7px 10px 8px;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  /* line 1601, app/assets/stylesheets/market_radar.scss */
  .market-radar .radar-map .osiris-iframe {
    height: 260px;
  }
}

/* line 1605, app/assets/stylesheets/market_radar.scss */
.radar-scope {
  position: relative;
  width: 132px;
  height: 132px;
  flex-shrink: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(204, 144, 60, 0.14), rgba(204, 144, 60, 0.03) 62%, transparent 71%);
  box-shadow: 0 0 70px rgba(204, 144, 60, 0.16);
}

/* line 1615, app/assets/stylesheets/market_radar.scss */
.radar-scope-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(224, 188, 138, 0.3);
}

/* line 1620, app/assets/stylesheets/market_radar.scss */
.radar-scope-ring--1 {
  inset: 0;
}

/* line 1621, app/assets/stylesheets/market_radar.scss */
.radar-scope-ring--2 {
  inset: 17%;
  border-color: rgba(224, 188, 138, 0.22);
}

/* line 1622, app/assets/stylesheets/market_radar.scss */
.radar-scope-ring--3 {
  inset: 34%;
  border-color: rgba(224, 188, 138, 0.16);
}

/* line 1625, app/assets/stylesheets/market_radar.scss */
.radar-scope-cross {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: linear-gradient(rgba(224, 188, 138, 0.16), rgba(224, 188, 138, 0.16)) center/1px 100% no-repeat, linear-gradient(rgba(224, 188, 138, 0.16), rgba(224, 188, 138, 0.16)) center/100% 1px no-repeat;
}

/* line 1636, app/assets/stylesheets/market_radar.scss */
.radar-scope-sweep {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg 285deg, rgba(204, 144, 60, 0.08) 300deg, rgba(224, 188, 138, 0.55) 359deg, transparent 360deg);
  animation: radar-sweep 4s linear infinite;
}

@keyframes radar-sweep {
  to {
    transform: rotate(360deg);
  }
}

/* line 1649, app/assets/stylesheets/market_radar.scss */
.radar-scope-blip {
  position: absolute;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: #e0bc8a;
  box-shadow: 0 0 12px rgba(224, 188, 138, 0.9);
  opacity: 0;
  animation: radar-blip 4s ease-out infinite;
}

/* line 1660, app/assets/stylesheets/market_radar.scss */
.radar-scope-blip--1 {
  left: 69%;
  top: 27%;
  animation-delay: 0.44s;
}

/* line 1661, app/assets/stylesheets/market_radar.scss */
.radar-scope-blip--2 {
  left: 61%;
  top: 69%;
  animation-delay: 1.67s;
  background: #f97316;
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.9);
}

/* line 1662, app/assets/stylesheets/market_radar.scss */
.radar-scope-blip--3 {
  left: 18%;
  top: 59%;
  animation-delay: 2.83s;
}

@keyframes radar-blip {
  0% {
    opacity: 1;
    transform: scale(1.25);
  }
  55% {
    opacity: 0.25;
    transform: scale(1);
  }
  100% {
    opacity: 0;
  }
}

/* line 1671, app/assets/stylesheets/market_radar.scss */
.radar-scope-core {
  position: absolute;
  inset: 37%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 0.95rem;
  color: #111825;
  background: linear-gradient(135deg, #e3b56a, #cc903c 55%, #a97832);
  box-shadow: 0 0 22px rgba(204, 144, 60, 0.55);
}

/* line 1686, app/assets/stylesheets/market_radar.scss */
.radar-gate {
  max-width: 1280px;
  margin: 0 auto;
}

/* line 1691, app/assets/stylesheets/market_radar.scss */
.premium-gate-page.radar-gate {
  padding-top: 0.75rem;
}

/* line 1693, app/assets/stylesheets/market_radar.scss */
.radar-gate-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px 30px;
  margin-bottom: 22px;
  padding: 20px 28px;
  border-radius: 22px;
  border: 1px solid rgba(204, 144, 60, 0.24);
  background: radial-gradient(80% 140% at 0% 0%, rgba(204, 144, 60, 0.13), transparent 60%), var(--rd-surface);
  box-shadow: var(--rd-shadow);
}

/* line 1707, app/assets/stylesheets/market_radar.scss */
.radar-gate-hero .radar-scope {
  width: 96px;
  height: 96px;
}

/* line 1713, app/assets/stylesheets/market_radar.scss */
.radar-gate-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

/* line 1721, app/assets/stylesheets/market_radar.scss */
.radar-gate-title {
  margin: 2px 0 0;
  font-family: var(--police-titre);
  font-size: clamp(1.8rem, 2.6vw, 2.3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  background: linear-gradient(135deg, #f7f6f4 25%, #e0bc8a 62%, #cc903c);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* line 1734, app/assets/stylesheets/market_radar.scss */
.radar-gate-subtitle {
  max-width: 68ch;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--rd-text-2);
}

/* line 1742, app/assets/stylesheets/market_radar.scss */
.radar-gate-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

/* line 1749, app/assets/stylesheets/market_radar.scss */
.radar-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 14px;
  overflow: hidden;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  white-space: nowrap;
  color: #111825;
  background: linear-gradient(135deg, #e3b56a, #cc903c 50%, #a97832);
  box-shadow: 0 10px 30px rgba(204, 144, 60, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* line 1768, app/assets/stylesheets/market_radar.scss */
.radar-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.35) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.6s ease;
}

/* line 1777, app/assets/stylesheets/market_radar.scss */
.radar-cta:hover, .radar-cta:focus-visible {
  color: #111825;
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(204, 144, 60, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* line 1783, app/assets/stylesheets/market_radar.scss */
.radar-cta:hover::after, .radar-cta:focus-visible::after {
  transform: translateX(120%);
}

/* line 1786, app/assets/stylesheets/market_radar.scss */
.radar-cta:focus-visible {
  outline: 2px solid #e0bc8a;
  outline-offset: 3px;
}

/* line 1791, app/assets/stylesheets/market_radar.scss */
.radar-cta--lg {
  padding: 16px 30px;
  font-size: 1.04rem;
}

/* line 1797, app/assets/stylesheets/market_radar.scss */
.radar-gate-reassurance {
  margin: 0;
  font-size: 0.84rem;
  color: var(--rd-text-3);
}

/* line 1802, app/assets/stylesheets/market_radar.scss */
.radar-gate-reassurance i {
  color: var(--color-success);
}

/* line 1805, app/assets/stylesheets/market_radar.scss */
.radar-gate-live {
  margin-bottom: 2.25rem;
}

/* line 1807, app/assets/stylesheets/market_radar.scss */
.radar-gate-live-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

/* line 1814, app/assets/stylesheets/market_radar.scss */
.radar-gate-live-head h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--rd-text);
}

/* line 1822, app/assets/stylesheets/market_radar.scss */
.radar-live-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #86efac;
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.3);
}

/* line 1839, app/assets/stylesheets/market_radar.scss */
.radar-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  animation: radar-live 1.8s ease-out infinite;
}

@keyframes radar-live {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  }
  100% {
    box-shadow: 0 0 0 9px rgba(34, 197, 94, 0);
  }
}

/* line 1853, app/assets/stylesheets/market_radar.scss */
.radar-gate-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0 0 12px;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--rd-text);
}

/* line 1865, app/assets/stylesheets/market_radar.scss */
.radar-gate-empty {
  font-weight: 500;
  color: var(--rd-text-3);
}

/* line 1870, app/assets/stylesheets/market_radar.scss */
.radar-gate-count {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-bottom: 12px;
}

/* line 1878, app/assets/stylesheets/market_radar.scss */
.radar-gate-big {
  font-size: 2.3rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--tone);
}

/* line 1886, app/assets/stylesheets/market_radar.scss */
.radar-gate-status {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--rd-text-2);
}

/* line 1892, app/assets/stylesheets/market_radar.scss */
.radar-gate-headline {
  margin-bottom: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
  border-left: 3px solid var(--tone);
}

/* line 1901, app/assets/stylesheets/market_radar.scss */
.radar-gate-headline-kicker {
  margin: 0 0 4px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rd-text-3);
}

/* line 1910, app/assets/stylesheets/market_radar.scss */
.radar-gate-headline-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--rd-text);
}

/* line 1918, app/assets/stylesheets/market_radar.scss */
.radar-gate-headline-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--tone);
}

/* line 1930, app/assets/stylesheets/market_radar.scss */
.radar-locked {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.018);
  border: 1px dashed rgba(224, 188, 138, 0.26);
}

/* line 1937, app/assets/stylesheets/market_radar.scss */
.radar-locked-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  font-size: 0.76rem;
  line-height: 1.35;
  color: var(--rd-text-2);
}

/* line 1946, app/assets/stylesheets/market_radar.scss */
.radar-locked-head:first-child {
  margin-top: 0;
}

/* line 1948, app/assets/stylesheets/market_radar.scss */
.radar-locked-head > i {
  font-size: 0.66rem;
  color: #e0bc8a;
}

/* line 1951, app/assets/stylesheets/market_radar.scss */
.radar-locked-label {
  flex: 1;
  min-width: 0;
}

/* line 1956, app/assets/stylesheets/market_radar.scss */
.radar-locked-pill {
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111825;
  background: linear-gradient(135deg, #e0bc8a, #cc903c);
}

/* line 1974, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-lines {
  display: grid;
  gap: 8px;
}

/* line 1978, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-lines span {
  height: 8px;
  border-radius: 999px;
  background: var(--rd-skeleton);
  opacity: 1;
}

/* line 1984, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-rows {
  display: grid;
  gap: 8px;
}

/* line 1989, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 10px;
  background: var(--rd-raised);
  border-left: 3px solid var(--tone);
}

/* line 1998, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-row > i {
  font-size: 0.62rem;
  color: rgba(224, 188, 138, 0.75);
}

/* line 2000, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-row .radar-skeleton-lines {
  flex: 1;
  gap: 7px;
}

/* line 2004, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-row .radar-skeleton-lines span:last-child {
  opacity: 0.6;
}

/* line 2008, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-chips {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

/* line 2013, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-chips span {
  width: 112px;
  height: 26px;
  border-radius: 999px;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 2022, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-tiles {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 10px;
  margin-top: 14px;
}

/* line 2028, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-tiles span {
  height: 58px;
  border-radius: 12px;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 2036, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-score {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

/* line 2042, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-score span:first-child {
  width: 62px;
  height: 30px;
  border-radius: 8px;
  background: var(--rd-skeleton);
}

/* line 2049, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-score span:last-child {
  flex: 1;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(204, 144, 60, 0.55), var(--rd-skeleton) 70%);
}

/* line 2057, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px 20px;
}

/* line 2062, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-groups > span {
  display: grid;
  gap: 8px;
}

/* line 2066, app/assets/stylesheets/market_radar.scss */
.radar-skeleton-groups > span > span:first-child {
  width: 44%;
  height: 8px;
  border-radius: 999px;
  background: rgba(var(--tone-rgb), 0.55);
}

/* line 2076, app/assets/stylesheets/market_radar.scss */
.radar-locked-map {
  position: relative;
  display: block;
  height: 136px;
  border-radius: 10px;
  overflow: hidden;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.09) 1px, transparent 1.5px) 0 0/9px 9px, linear-gradient(160deg, rgba(96, 165, 250, 0.1), rgba(255, 255, 255, 0.015));
}

/* line 2086, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  filter: blur(2px);
  background: rgba(var(--tone-rgb), 0.85);
  box-shadow: 0 0 18px rgba(var(--tone-rgb), 0.7);
}

/* line 2095, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span:nth-child(1) {
  left: 58%;
  top: 38%;
}

/* line 2096, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span:nth-child(2) {
  left: 76%;
  top: 30%;
}

/* line 2097, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span:nth-child(3) {
  left: 63%;
  top: 56%;
}

/* line 2098, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span:nth-child(4) {
  left: 49%;
  top: 24%;
}

/* line 2099, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span:nth-child(5) {
  left: 27%;
  top: 62%;
}

/* line 2100, app/assets/stylesheets/market_radar.scss */
.radar-locked-map span:nth-child(6) {
  left: 84%;
  top: 66%;
}

/* line 2104, app/assets/stylesheets/market_radar.scss */
.radar-locked-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* line 2109, app/assets/stylesheets/market_radar.scss */
.radar-locked-chips > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--rd-raised);
  border: 1px solid var(--rd-border);
}

/* line 2118, app/assets/stylesheets/market_radar.scss */
.radar-locked-chips > span i {
  font-size: 0.62rem;
  color: #e0bc8a;
}

/* line 2120, app/assets/stylesheets/market_radar.scss */
.radar-locked-chips > span span {
  width: 56px;
  height: 9px;
  border-radius: 999px;
  background: var(--rd-skeleton);
  opacity: 1;
}

/* line 2128, app/assets/stylesheets/market_radar.scss */
.radar-gate-note {
  margin: 14px 0 0;
  text-align: center;
  font-size: 0.82rem;
  color: var(--rd-text-3);
}

/* line 2135, app/assets/stylesheets/market_radar.scss */
.radar-gate-unlock {
  margin-bottom: 1.75rem;
  padding: 30px;
  border-radius: 22px;
  border: 1px solid rgba(204, 144, 60, 0.22);
  background: radial-gradient(90% 120% at 50% 0%, rgba(204, 144, 60, 0.1), transparent 60%), var(--rd-surface);
}

/* line 2145, app/assets/stylesheets/market_radar.scss */
.radar-gate-unlock-title {
  margin: 0 0 24px;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--rd-text);
}

/* line 2153, app/assets/stylesheets/market_radar.scss */
.radar-gate-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 991.98px) {
  /* line 2153, app/assets/stylesheets/market_radar.scss */
  .radar-gate-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* line 2163, app/assets/stylesheets/market_radar.scss */
.radar-gate-features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

/* line 2170, app/assets/stylesheets/market_radar.scss */
.radar-gate-features strong {
  display: block;
  font-size: 0.95rem;
  color: var(--rd-text);
}

/* line 2176, app/assets/stylesheets/market_radar.scss */
.radar-gate-features p {
  margin: 4px 0 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--rd-text-2);
}

/* line 2184, app/assets/stylesheets/market_radar.scss */
.radar-gate-feature-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  font-size: 0.9rem;
  color: #e0bc8a;
  background: rgba(204, 144, 60, 0.13);
  border: 1px solid rgba(204, 144, 60, 0.25);
}

/* line 2197, app/assets/stylesheets/market_radar.scss */
.radar-gate-cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
}

/* line 2205, app/assets/stylesheets/market_radar.scss */
.radar-gate-cancel {
  margin: 0;
  font-size: 0.82rem;
  color: var(--rd-text-3);
}

/* line 2212, app/assets/stylesheets/market_radar.scss */
.radar-gate-trust .trust-badge-item i {
  color: #e0bc8a;
}

@media (max-width: 991.98px) {
  /* line 2216, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero {
    grid-template-columns: auto minmax(0, 1fr);
  }
  /* line 2219, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero .radar-gate-action {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px 18px;
  }
}

@media (max-width: 767.98px) {
  /* line 2229, app/assets/stylesheets/market_radar.scss */
  .radar-gate {
    padding-top: calc(52px + env(safe-area-inset-top, 0px));
  }
  /* line 2232, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero .radar-scope {
    display: none;
  }
  /* line 2234, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding: 22px 16px 20px;
    text-align: center;
  }
  /* line 2242, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero .radar-scope {
    width: 88px;
    height: 88px;
  }
  /* line 2247, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero .radar-gate-intro {
    align-items: center;
  }
  /* line 2249, app/assets/stylesheets/market_radar.scss */
  .radar-gate-hero .radar-gate-action {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  /* line 2256, app/assets/stylesheets/market_radar.scss */
  .radar-gate-subtitle {
    font-size: 0.9rem;
  }
  /* line 2258, app/assets/stylesheets/market_radar.scss */
  .radar-cta--lg {
    width: 100%;
    padding: 14px 16px;
    font-size: 0.98rem;
  }
  /* line 2263, app/assets/stylesheets/market_radar.scss */
  .radar-cta--lg .fa-arrow-right {
    display: none;
  }
  /* line 2266, app/assets/stylesheets/market_radar.scss */
  .radar-gate-live-head h2 {
    font-size: 1.05rem;
  }
  /* line 2268, app/assets/stylesheets/market_radar.scss */
  .radar-gate-big {
    font-size: 2rem;
  }
  /* line 2270, app/assets/stylesheets/market_radar.scss */
  .radar-gate-features {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 2272, app/assets/stylesheets/market_radar.scss */
  .radar-gate-unlock {
    padding: 22px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 2276, app/assets/stylesheets/market_radar.scss */
  .radar-scope-sweep {
    animation: none;
    transform: rotate(40deg);
  }
  /* line 2277, app/assets/stylesheets/market_radar.scss */
  .radar-scope-blip {
    animation: none;
    opacity: 0.8;
  }
  /* line 2278, app/assets/stylesheets/market_radar.scss */
  .radar-live-dot,
.radar-status.is-live .radar-status-dot {
    animation: none;
  }
  /* line 2280, app/assets/stylesheets/market_radar.scss */
  .radar-tile,
.radar-alert-chevron {
    transition: none;
  }
  /* line 2283, app/assets/stylesheets/market_radar.scss */
  .radar-card.is-spotlit::after,
.radar-slot.is-spotlit::after {
    animation: none;
    opacity: 1;
  }
}
@keyframes nv-monter {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes nv-battement {
  0% {
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.55);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(52, 211, 153, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0);
  }
}

/* line 43, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-hero {
  height: auto !important;
  min-height: 100svh;
  padding-top: 128px;
  padding-bottom: 88px;
}

/* line 50, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1100px;
}

/* line 58, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-hero-pastille {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  padding: 8px 16px 8px 14px;
  border: 1px solid rgba(247, 246, 244, 0.12);
  border-radius: 999px;
  background: rgba(17, 24, 37, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(247, 246, 244, 0.82);
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  animation: nv-monter 0.7s 0.1s both;
  transition: border-color 0.25s ease, color 0.25s ease;
}

/* line 76, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-hero-pastille i {
  font-size: 0.72rem;
  color: #cc903c;
  transition: transform 0.25s ease;
}

/* line 82, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-hero-pastille:hover {
  border-color: rgba(204, 144, 60, 0.45);
  color: #f7f6f4;
}

/* line 86, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-hero-pastille:hover i {
  transform: translateX(3px);
}

/* line 90, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-point-vif {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #34d399;
  animation: nv-battement 2.2s ease-out infinite;
}

/* line 102, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-hero-title {
  margin: 0 auto 24px;
  font-size: clamp(2.6rem, 6.4vw, 5.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}

/* line 111, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-hero-subtitle {
  max-width: 44ch;
  margin: 0 auto 36px;
  color: rgba(247, 246, 244, 0.66) !important;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
  line-height: 1.6 !important;
}

/* line 119, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-hero-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 14px;
}

/* line 126, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-btn-primary {
  padding: 17px 30px;
  border-radius: 12px;
  font-size: 1rem;
}

/* line 133, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-btn-secondaire {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 17px 26px;
  border: 1px solid rgba(247, 246, 244, 0.16);
  border-radius: 12px;
  background: rgba(247, 246, 244, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #f7f6f4;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.25s ease, background 0.25s ease;
}

/* line 149, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-btn-secondaire i {
  font-size: 0.8rem;
  color: #cc903c;
}

/* line 151, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-btn-secondaire:hover {
  border-color: rgba(204, 144, 60, 0.5);
  background: rgba(204, 144, 60, 0.08);
}

/* line 157, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-hero-note {
  flex-basis: 100%;
  text-wrap: balance;
  margin: 8px 0 0;
  color: rgba(247, 246, 244, 0.48);
  font-size: 0.85rem;
  text-align: center;
}

/* line 168, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-scroll-indicator {
  display: none !important;
}

/* line 171, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live {
  width: 100%;
  max-width: 1040px;
  margin: 60px auto 0;
  padding: 16px;
  border: 1px solid rgba(247, 246, 244, 0.08);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(17, 24, 37, 0.78), rgba(17, 24, 37, 0.46));
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: nv-monter 0.9s 0.45s both;
}

/* line 185, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live-entete {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 6px 14px;
  color: rgba(247, 246, 244, 0.62);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* line 197, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live-etiquette {
  margin-left: auto;
  padding: 3px 10px;
  border: 1px solid rgba(204, 144, 60, 0.35);
  border-radius: 999px;
  color: #cc903c;
  font-size: 0.68rem;
}

/* line 206, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-cards {
  display: grid;
  justify-content: start !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* line 222, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-card {
  opacity: 1 !important;
  transform: none !important;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 2px;
  min-height: 0 !important;
  height: auto !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(247, 246, 244, 0.06);
  border-radius: 14px;
  background: rgba(0, 6, 21, 0.55);
  text-align: left;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

/* line 240, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-card:hover {
  border-color: rgba(204, 144, 60, 0.3);
  transform: translateY(-2px) !important;
}

/* line 247, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-card .card-icon {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 0 !important;
  border-radius: 11px;
  background: rgba(204, 144, 60, 0.1);
  font-size: 0.95rem;
}

/* line 259, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-card .card-label {
  grid-column: 2;
  margin: 0 !important;
  color: rgba(247, 246, 244, 0.5);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* line 269, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-card .card-value {
  grid-column: 2;
  margin: 0 !important;
  overflow: hidden;
  color: #f7f6f4;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 281, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-live .v3-proof-card .card-badge {
  grid-column: 3;
  grid-row: 1 / 3;
  margin: 0 !important;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  white-space: nowrap;
}

/* line 295, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-problem {
  min-height: 0 !important;
  padding: clamp(56px, 7vh, 84px) 24px clamp(44px, 6vh, 68px) !important;
}

/* line 302, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stat-label {
  margin: 10px auto 0 !important;
}

/* line 303, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-problem-lines {
  margin-top: clamp(22px, 3vh, 32px) !important;
}

/* line 304, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-problem-lines p + p {
  margin-top: 12px !important;
}

/* line 306, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stat-big {
  font-size: clamp(4.5rem, 11vw, 8.5rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

/* line 313, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-problem-lines p {
  max-width: 32ch;
  margin-inline: auto;
  font-size: clamp(1.5rem, 2.9vw, 2.35rem) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* line 324, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-features-badge,
.landing-v3 .v3-app-badge,
.landing-v3 .v3-b2b-badge,
.landing-v3 .section-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px !important;
  padding: 6px 14px !important;
  border: 1px solid rgba(204, 144, 60, 0.3) !important;
  border-radius: 999px !important;
  background: rgba(204, 144, 60, 0.08) !important;
  color: #cc903c !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

/* line 343, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-features-title,
.landing-v3 .v3-opp-heading,
.landing-v3 .v3-faq-title,
.landing-v3 .v3-b2b-title,
.landing-v3 .v3-access-title,
.landing-v3 .v3-app-title,
.landing-v3 .section-title-v2 {
  max-width: 22ch;
  margin-inline: auto;
  color: #f7f6f4 !important;
  font-size: clamp(2rem, 3.9vw, 3.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  text-wrap: balance;
}

/* line 360, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-features-subtitle,
.landing-v3 .v3-opp-subtitle,
.landing-v3 .v3-access-subtitle,
.landing-v3 .v3-app-subtitle,
.landing-v3 .v3-b2b-subtitle,
.landing-v3 .section-subtitle-v2 {
  max-width: 56ch;
  margin-inline: auto;
  color: rgba(247, 246, 244, 0.6) !important;
  font-size: clamp(1rem, 1.25vw, 1.12rem) !important;
  line-height: 1.6 !important;
  text-wrap: balance;
}

/* line 378, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .track-record-preview-header .section-header {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0 !important;
  text-align: center;
}

/* line 386, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .track-record-preview-header .section-header .section-title-v2 {
  margin-bottom: 14px;
}

/* line 390, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-proof,
.landing-v3 .v3-features,
.landing-v3 .v3-app,
.landing-v3 .v3-opportunities,
.landing-v3 .track-record-preview-section,
.landing-v3 .v3-faq,
.landing-v3 .v3-b2b,
.landing-v3 .v3-access {
  padding-block: clamp(88px, 12vh, 144px) !important;
  border-top: 0 !important;
}

/* line 405, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-opportunities + .track-record-preview-section {
  padding-top: clamp(24px, 4vh, 48px) !important;
}

/* line 412, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-proof {
  padding-top: clamp(12px, 2vh, 24px) !important;
}

/* line 416, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-features,
.landing-v3 .track-record-preview-section,
.landing-v3 .v3-b2b {
  background: linear-gradient(180deg, rgba(17, 24, 37, 0) 0%, rgba(17, 24, 37, 0.72) 14%, rgba(17, 24, 37, 0.72) 86%, rgba(17, 24, 37, 0) 100%) !important;
}

/* line 427, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-opportunities,
.landing-v3 .v3-faq,
.landing-v3 .v3-access {
  background: transparent !important;
}

/* line 434, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-feature-card,
.landing-v3 .v3-opp-card,
.landing-v3 .v3-faq-item,
.landing-v3 .v3-review-card {
  border: 1px solid rgba(247, 246, 244, 0.08) !important;
  border-radius: 18px !important;
  background: rgba(17, 24, 37, 0.62) !important;
  box-shadow: none !important;
  transition: transform 0.25s ease, border-color 0.25s ease !important;
}

/* line 444, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-feature-card:hover,
.landing-v3 .v3-opp-card:hover,
.landing-v3 .v3-faq-item:hover,
.landing-v3 .v3-review-card:hover {
  border-color: rgba(204, 144, 60, 0.28) !important;
  transform: translateY(-3px);
}

/* line 452, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-reviews-wrap,
.landing-v3 .v3-ticker-wrap {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

/* line 459, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stats-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 !important;
  max-width: 980px;
  margin: 56px auto 0 !important;
  border: 1px solid rgba(247, 246, 244, 0.08);
  border-radius: 20px;
  background: rgba(17, 24, 37, 0.55);
  overflow: hidden;
}

/* line 471, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stat-item {
  padding: 36px 20px;
  text-align: center;
}

/* line 475, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stat-item + .v3-stat-item {
  border-left: 1px solid rgba(247, 246, 244, 0.08);
}

/* line 478, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stat-value {
  color: #f7f6f4 !important;
  font-size: clamp(2.3rem, 4.4vw, 3.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  font-variant-numeric: tabular-nums;
}

/* line 487, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-stat-desc {
  margin-top: 8px;
  color: rgba(247, 246, 244, 0.55) !important;
  font-size: 0.74rem !important;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 497, app/assets/stylesheets/landing_pro.scss */
.landing-v3 a:focus-visible,
.landing-v3 button:focus-visible {
  outline: 2px solid #cc903c;
  outline-offset: 3px;
  border-radius: 10px;
}

@media (max-width: 768px) {
  /* line 510, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-hero {
    padding-top: 104px;
    padding-bottom: 56px;
  }
  /* line 515, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .nv-hero-pastille {
    margin-bottom: 22px;
    font-size: 0.78rem;
  }
  /* line 520, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-hero-subtitle {
    margin-bottom: 28px;
  }
  /* line 523, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-btn-primary,
.landing-v3 .nv-btn-secondaire {
    width: 100%;
    justify-content: center;
  }
  /* line 531, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .nv-live {
    margin-top: 40px;
    padding: 12px;
    border-radius: 18px;
  }
  /* line 537, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .nv-live .v3-proof-cards {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: 68%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  /* line 545, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .nv-live .v3-proof-cards::-webkit-scrollbar {
    display: none;
  }
  /* line 548, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .nv-live .v3-proof-card {
    scroll-snap-align: start;
  }
  /* line 550, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-stat-item {
    padding: 24px 8px;
  }
  /* line 552, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-stat-desc {
    font-size: 0.62rem !important;
    letter-spacing: 0.08em;
  }
  /* line 557, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-proof,
.landing-v3 .v3-features,
.landing-v3 .v3-app,
.landing-v3 .v3-opportunities,
.landing-v3 .track-record-preview-section,
.landing-v3 .v3-faq,
.landing-v3 .v3-b2b,
.landing-v3 .v3-access {
    padding-block: clamp(64px, 9vh, 96px) !important;
  }
  /* line 568, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-proof {
    padding-top: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 577, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .nv-hero-pastille,
.landing-v3 .nv-live,
.landing-v3 .nv-point-vif {
    animation: none;
  }
}

/* line 603, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .v3-access-content {
  max-width: 1280px;
}

/* line 606, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .v3-access-title,
.landing-v3 .v3-access .v3-access-subtitle,
.landing-v3 .v3-access .trial-announcement,
.landing-v3 .v3-access .launch-promo-banner {
  margin-left: auto;
  margin-right: auto;
}

/* line 614, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .launch-promo-banner {
  max-width: 760px;
}

/* line 617, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .launch-promo-cta {
  display: none !important;
}

/* line 619, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .v3-pricing-embed {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

/* line 626, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-save-badge {
  padding: 3px 9px !important;
  border: 1px solid rgba(52, 211, 153, 0.35);
  background: rgba(52, 211, 153, 0.14) !important;
  color: #34d399 !important;
  font-size: 0.7rem !important;
}

/* line 634, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-card-new {
  border-radius: 20px !important;
  padding: 30px 22px 26px !important;
}

/* line 643, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-card-header,
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-price-block,
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-price-sub,
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-cta-wrap,
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-trial-note {
  text-align: left !important;
}

/* line 649, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-price-main {
  justify-content: flex-start !important;
}

/* line 651, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-price-sub,
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-promo-note {
  justify-content: flex-start !important;
}

/* line 654, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) .pricing-trial-chip {
  justify-self: start !important;
  margin-left: 0 !important;
}

/* line 660, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-plan-name {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

/* line 666, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-plan-tagline {
  color: rgba(247, 246, 244, 0.55) !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
}

/* line 673, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-features-list {
  text-align: left !important;
  padding-left: 0;
}

/* line 677, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-features-list li {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px;
  text-align: left !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
}

/* line 687, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-features-list .pricing-check,
.landing-v3 .v3-access .pricing-features-list li > i:first-child {
  flex: 0 0 auto;
  margin-top: 0.22em;
  margin-right: 0 !important;
}

/* line 696, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access .pricing-card-popular {
  box-shadow: 0 0 0 1px rgba(204, 144, 60, 0.55), 0 30px 80px rgba(204, 144, 60, 0.12) !important;
}

@media (min-width: 900px) {
  /* line 705, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch;
  }
  /* line 713, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) {
    display: grid !important;
    grid-row: span 5;
    grid-template-rows: subgrid;
    row-gap: 14px;
    align-content: start;
    height: auto !important;
  }
  /* line 721, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) > .pricing-card-header {
    grid-row: 1;
  }
  /* line 722, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) > .pricing-price-block {
    grid-row: 2;
    align-self: start;
  }
  /* line 723, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) > .pricing-trial-chip {
    grid-row: 3;
    align-self: center;
  }
  /* line 726, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) > .pricing-cta-wrap {
    grid-row: 4;
    align-self: start;
  }
  /* line 727, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-new:not(.pricing-card-enterprise) > .pricing-features-list {
    grid-row: 5;
    margin: 0;
  }
  /* line 730, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-enterprise {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1200px) {
  /* line 738, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-cards-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  /* line 744, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-enterprise {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) auto auto minmax(0, 1.7fr);
    align-items: center;
    column-gap: 36px;
    padding: 26px 32px !important;
    text-align: left;
  }
  /* line 752, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-enterprise .pricing-card-header,
.landing-v3 .v3-access .pricing-card-enterprise .pricing-price-block,
.landing-v3 .v3-access .pricing-card-enterprise .pricing-cta-wrap {
    margin: 0 !important;
    text-align: left;
  }
  /* line 756, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-enterprise .pricing-price-main {
    justify-content: flex-start;
  }
  /* line 758, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-access .pricing-card-enterprise .pricing-features-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    margin: 0 !important;
  }
}

/* line 785, app/assets/stylesheets/landing_pro.scss */
.v3-space-bg {
  background: radial-gradient(110% 60% at 50% -8%, rgba(27, 39, 71, 0.55), transparent 62%), #000615 !important;
}

/* line 790, app/assets/stylesheets/landing_pro.scss */
.v3-space-bg canvas {
  display: none !important;
}

/* line 793, app/assets/stylesheets/landing_pro.scss */
.v3-space-bg::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  opacity: 0.045;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(/%23g)'/></svg>");
  background-size: 180px 180px;
}

/* line 809, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1600' height='1000'><circle cx='518' cy='151' r='0.6' fill='%23fff' fill-opacity='0.29'/><circle cx='585' cy='58' r='0.8' fill='%23ffe2b4' fill-opacity='0.38'/><circle cx='669' cy='241' r='0.8' fill='%23fff' fill-opacity='0.5'/><circle cx='198' cy='223' r='1.1' fill='%23fff' fill-opacity='0.9'/><circle cx='923' cy='397' r='0.6' fill='%23fff' fill-opacity='0.28'/><circle cx='463' cy='144' r='0.6' fill='%23fff' fill-opacity='0.59'/><circle cx='1091' cy='103' r='1.1' fill='%23fff' fill-opacity='0.9'/><circle cx='596' cy='548' r='0.6' fill='%23fff' fill-opacity='0.59'/><circle cx='794' cy='532' r='0.6' fill='%23fff' fill-opacity='0.53'/><circle cx='579' cy='248' r='0.6' fill='%23ffe2b4' fill-opacity='0.67'/><circle cx='919' cy='525' r='0.6' fill='%23fff' fill-opacity='0.69'/><circle cx='1568' cy='118' r='0.8' fill='%23fff' fill-opacity='0.35'/><circle cx='1493' cy='422' r='0.6' fill='%23fff' fill-opacity='0.71'/><circle cx='1401' cy='314' r='0.6' fill='%23fff' fill-opacity='0.61'/><circle cx='730' cy='840' r='0.6' fill='%23fff' fill-opacity='0.53'/><circle cx='97' cy='701' r='1.1' fill='%23fff' fill-opacity='0.9'/><circle cx='1315' cy='285' r='0.8' fill='%23fff' fill-opacity='0.78'/><circle cx='1505' cy='355' r='1.1' fill='%23ffe2b4' fill-opacity='0.9'/><circle cx='94' cy='768' r='0.6' fill='%23fff' fill-opacity='0.69'/><circle cx='1467' cy='497' r='0.6' fill='%23fff' fill-opacity='0.52'/><circle cx='1413' cy='819' r='0.8' fill='%23fff' fill-opacity='0.42'/><circle cx='574' cy='884' r='0.6' fill='%23ffe2b4' fill-opacity='0.34'/><circle cx='371' cy='233' r='0.8' fill='%23ffe2b4' fill-opacity='0.75'/><circle cx='451' cy='146' r='0.8' fill='%23fff' fill-opacity='0.47'/><circle cx='1525' cy='690' r='0.8' fill='%23fff' fill-opacity='0.82'/><circle cx='1184' cy='457' r='0.8' fill='%23fff' fill-opacity='0.49'/><circle cx='166' cy='634' r='0.6' fill='%23fff' fill-opacity='0.36'/><circle cx='705' cy='110' r='1.1' fill='%23ffe2b4' fill-opacity='0.9'/><circle cx='0' cy='151' r='0.6' fill='%23fff' fill-opacity='0.82'/><circle cx='113' cy='208' r='0.8' fill='%23fff' fill-opacity='0.34'/><circle cx='556' cy='364' r='0.6' fill='%23fff' fill-opacity='0.32'/><circle cx='1565' cy='480' r='0.6' fill='%23ffe2b4' fill-opacity='0.3'/><circle cx='548' cy='265' r='0.6' fill='%23ffe2b4' fill-opacity='0.56'/><circle cx='1523' cy='362' r='0.8' fill='%23fff' fill-opacity='0.8'/><circle cx='477' cy='643' r='0.6' fill='%23fff' fill-opacity='0.67'/><circle cx='587' cy='167' r='0.6' fill='%23fff' fill-opacity='0.57'/><circle cx='527' cy='223' r='0.6' fill='%23fff' fill-opacity='0.73'/><circle cx='1184' cy='227' r='0.8' fill='%23fff' fill-opacity='0.55'/><circle cx='1583' cy='790' r='0.8' fill='%23fff' fill-opacity='0.41'/><circle cx='1530' cy='447' r='0.6' fill='%23fff' fill-opacity='0.82'/><circle cx='353' cy='227' r='0.6' fill='%23fff' fill-opacity='0.45'/><circle cx='1576' cy='610' r='0.6' fill='%23fff' fill-opacity='0.54'/><circle cx='1279' cy='85' r='0.6' fill='%23fff' fill-opacity='0.8'/><circle cx='1200' cy='478' r='0.6' fill='%23fff' fill-opacity='0.51'/><circle cx='139' cy='946' r='0.8' fill='%23fff' fill-opacity='0.53'/><circle cx='136' cy='159' r='0.6' fill='%23fff' fill-opacity='0.27'/><circle cx='745' cy='656' r='1.1' fill='%23fff' fill-opacity='0.9'/><circle cx='1568' cy='657' r='0.6' fill='%23fff' fill-opacity='0.34'/><circle cx='34' cy='799' r='0.6' fill='%23fff' fill-opacity='0.57'/><circle cx='694' cy='872' r='0.6' fill='%23ffe2b4' fill-opacity='0.27'/><circle cx='802' cy='764' r='0.6' fill='%23fff' fill-opacity='0.41'/><circle cx='210' cy='910' r='0.6' fill='%23fff' fill-opacity='0.79'/><circle cx='1304' cy='517' r='0.8' fill='%23ffe2b4' fill-opacity='0.33'/><circle cx='817' cy='873' r='0.6' fill='%23fff' fill-opacity='0.62'/><circle cx='240' cy='142' r='1.1' fill='%23fff' fill-opacity='0.9'/><circle cx='890' cy='326' r='0.8' fill='%23fff' fill-opacity='0.57'/><circle cx='1242' cy='883' r='0.6' fill='%23fff' fill-opacity='0.4'/><circle cx='1236' cy='508' r='0.8' fill='%23fff' fill-opacity='0.27'/><circle cx='101' cy='326' r='0.8' fill='%23ffe2b4' fill-opacity='0.61'/><circle cx='443' cy='508' r='0.8' fill='%23ffe2b4' fill-opacity='0.55'/><circle cx='837' cy='876' r='0.6' fill='%23fff' fill-opacity='0.8'/><circle cx='324' cy='448' r='0.8' fill='%23fff' fill-opacity='0.32'/><circle cx='116' cy='241' r='0.6' fill='%23fff' fill-opacity='0.38'/><circle cx='196' cy='777' r='0.6' fill='%23fff' fill-opacity='0.34'/><circle cx='1548' cy='220' r='0.6' fill='%23fff' fill-opacity='0.49'/><circle cx='1584' cy='832' r='0.6' fill='%23fff' fill-opacity='0.67'/><circle cx='646' cy='421' r='0.6' fill='%23fff' fill-opacity='0.44'/><circle cx='31' cy='554' r='0.8' fill='%23fff' fill-opacity='0.67'/><circle cx='828' cy='295' r='0.6' fill='%23fff' fill-opacity='0.32'/><circle cx='366' cy='876' r='0.6' fill='%23ffe2b4' fill-opacity='0.41'/><circle cx='1246' cy='270' r='0.6' fill='%23fff' fill-opacity='0.74'/><circle cx='1082' cy='946' r='0.8' fill='%23fff' fill-opacity='0.34'/><circle cx='913' cy='700' r='0.6' fill='%23fff' fill-opacity='0.42'/><circle cx='293' cy='895' r='0.6' fill='%23fff' fill-opacity='0.81'/><circle cx='1283' cy='84' r='0.6' fill='%23fff' fill-opacity='0.29'/><circle cx='726' cy='339' r='0.8' fill='%23fff' fill-opacity='0.5'/><circle cx='995' cy='43' r='0.6' fill='%23fff' fill-opacity='0.81'/><circle cx='419' cy='181' r='0.6' fill='%23fff' fill-opacity='0.63'/><circle cx='329' cy='446' r='0.6' fill='%23fff' fill-opacity='0.41'/><circle cx='1591' cy='37' r='0.6' fill='%23fff' fill-opacity='0.69'/><circle cx='303' cy='475' r='0.8' fill='%23fff' fill-opacity='0.31'/><circle cx='691' cy='495' r='0.8' fill='%23fff' fill-opacity='0.83'/><circle cx='344' cy='230' r='0.6' fill='%23fff' fill-opacity='0.75'/><circle cx='1018' cy='405' r='0.6' fill='%23fff' fill-opacity='0.84'/><circle cx='23' cy='625' r='0.6' fill='%23ffe2b4' fill-opacity='0.51'/><circle cx='1064' cy='381' r='0.8' fill='%23fff' fill-opacity='0.65'/><circle cx='388' cy='293' r='0.8' fill='%23fff' fill-opacity='0.36'/><circle cx='6' cy='364' r='0.6' fill='%23fff' fill-opacity='0.83'/><circle cx='391' cy='966' r='0.6' fill='%23ffe2b4' fill-opacity='0.38'/><circle cx='537' cy='84' r='0.6' fill='%23ffe2b4' fill-opacity='0.55'/><circle cx='808' cy='5' r='0.6' fill='%23ffe2b4' fill-opacity='0.74'/><circle cx='939' cy='394' r='0.6' fill='%23ffe2b4' fill-opacity='0.43'/><circle cx='937' cy='529' r='0.6' fill='%23fff' fill-opacity='0.64'/><circle cx='1407' cy='390' r='0.6' fill='%23fff' fill-opacity='0.68'/><circle cx='455' cy='619' r='0.6' fill='%23fff' fill-opacity='0.28'/><circle cx='1427' cy='627' r='0.8' fill='%23fff' fill-opacity='0.33'/><circle cx='807' cy='835' r='0.6' fill='%23fff' fill-opacity='0.75'/><circle cx='1429' cy='683' r='0.6' fill='%23ffe2b4' fill-opacity='0.3'/><circle cx='1019' cy='960' r='0.8' fill='%23fff' fill-opacity='0.75'/><circle cx='1004' cy='626' r='0.6' fill='%23ffe2b4' fill-opacity='0.54'/><circle cx='1276' cy='748' r='0.8' fill='%23ffe2b4' fill-opacity='0.79'/><circle cx='842' cy='746' r='0.8' fill='%23ffe2b4' fill-opacity='0.4'/><circle cx='425' cy='729' r='0.6' fill='%23fff' fill-opacity='0.39'/><circle cx='737' cy='846' r='0.6' fill='%23fff' fill-opacity='0.54'/><circle cx='1227' cy='617' r='0.6' fill='%23ffe2b4' fill-opacity='0.3'/><circle cx='406' cy='743' r='0.6' fill='%23ffe2b4' fill-opacity='0.62'/><circle cx='772' cy='486' r='0.6' fill='%23fff' fill-opacity='0.67'/><circle cx='465' cy='517' r='0.8' fill='%23fff' fill-opacity='0.53'/><circle cx='1589' cy='549' r='0.6' fill='%23fff' fill-opacity='0.84'/><circle cx='28' cy='459' r='0.8' fill='%23fff' fill-opacity='0.83'/></svg>");
  background-size: 1600px 1000px;
  background-position: 50% 0;
  -webkit-mask-image: radial-gradient(ellipse 46% 36% at 50% 40%, rgba(0, 0, 0, 0.2), #000 100%), linear-gradient(to bottom, #000 45%, transparent 92%);
  -webkit-mask-composite: source-in;
  mask-image: radial-gradient(ellipse 46% 36% at 50% 40%, rgba(0, 0, 0, 0.2), #000 100%), linear-gradient(to bottom, #000 45%, transparent 92%);
  mask-composite: intersect;
}

/* line 832, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-champ-gl {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.2s ease;
}

/* line 842, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .nv-champ-gl.est-pret {
  opacity: 1;
}

/* line 846, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-access {
  background-image: radial-gradient(48% 420px at 50% 0, rgba(204, 144, 60, 0.075), transparent 75%) !important;
  background-repeat: no-repeat !important;
}

/* line 860, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-app,
.landing-v3 .v3-faq {
  padding-block: clamp(56px, 8vh, 84px) !important;
}

/* line 863, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-app-header {
  margin-bottom: 36px !important;
}

/* line 864, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-app-stores {
  margin-top: 36px !important;
}

/* line 865, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-app-note {
  margin-top: 14px !important;
}

/* line 867, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-faq-title {
  margin-bottom: 36px !important;
}

/* line 868, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-faq-grid {
  gap: 16px !important;
}

/* line 869, app/assets/stylesheets/landing_pro.scss */
.landing-v3 .v3-faq-item {
  padding: 22px 24px !important;
}

@media (max-width: 768px) {
  /* line 876, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-app,
.landing-v3 .v3-faq {
    padding-block: 44px !important;
  }
  /* line 879, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-app-header {
    margin-bottom: 22px !important;
  }
  /* line 880, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-app-stores {
    margin-top: 22px !important;
  }
  /* line 881, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-app-note {
    margin-top: 12px !important;
  }
  /* line 883, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-faq-title {
    margin-bottom: 24px !important;
  }
  /* line 884, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-faq-grid {
    gap: 10px !important;
  }
  /* line 885, app/assets/stylesheets/landing_pro.scss */
  .landing-v3 .v3-faq-item {
    padding: 18px !important;
  }
}
/* line 21, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .v3-feature-card--wide {
  grid-column: 1 / -1;
}

@media (min-width: 901px) {
  /* line 21, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .v3-feature-card--wide {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
  }
  /* line 29, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .v3-feature-card--wide .v3-feature-visual {
    padding: 24px;
  }
  /* line 30, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .v3-feature-card--wide .v3-feature-content {
    padding: 28px 32px 28px 8px;
  }
}

/* line 36, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-gratuit {
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(52, 211, 153, 0.14);
  color: #34d399;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* line 49, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-lignes {
  margin: 0;
  padding-block: 4px;
  list-style: none;
}

/* line 56, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-ligne {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-areas: "avatar elu montant" "avatar achat achat" "avatar pied pied";
  column-gap: 12px;
  row-gap: 7px;
  padding: 14px 0;
}

/* line 67, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-ligne + .landing-v3 .nv-congres .nv-congres-ligne {
  border-top: 1px solid rgba(247, 246, 244, 0.06);
}

/* line 70, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-avatar {
  display: grid;
  grid-area: avatar;
  align-self: start;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(204, 144, 60, 0.3);
  border-radius: 50%;
  background: rgba(204, 144, 60, 0.1);
  color: #cc903c;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* line 86, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-elu {
  display: flex;
  grid-area: elu;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* line 94, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-nom,
.landing-v3 .nv-congres .nv-congres-siege,
.landing-v3 .nv-congres .nv-congres-societe {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 102, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-nom {
  color: #f7f6f4;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.3;
}

/* line 109, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-siege {
  color: rgba(247, 246, 244, 0.5);
  font-size: 0.72rem;
  line-height: 1.35;
}

/* line 115, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-montant-valeur {
  grid-area: montant;
  align-self: start;
  color: #f7f6f4;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

/* line 126, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-achat {
  display: flex;
  grid-area: achat;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

/* line 134, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-verbe {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 6px;
  color: #34d399;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* line 145, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-verbe i {
  font-size: 0.66rem;
}

/* line 148, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-ticker {
  flex: none;
  padding: 2px 7px;
  border: 1px solid rgba(247, 246, 244, 0.12);
  border-radius: 6px;
  background: rgba(247, 246, 244, 0.05);
  color: #f7f6f4;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

/* line 161, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-societe {
  min-width: 0;
  color: rgba(247, 246, 244, 0.72);
  font-size: 0.82rem;
  line-height: 1.35;
}

/* line 168, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-pied {
  display: flex;
  flex-wrap: wrap;
  grid-area: pied;
  align-items: center;
  gap: 6px 8px;
}

/* line 176, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-dates {
  color: rgba(247, 246, 244, 0.5);
  font-size: 0.72rem;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

/* line 183, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-etiquette {
  padding: 1px 7px;
  border: 1px solid rgba(247, 246, 244, 0.12);
  border-radius: 999px;
  color: rgba(247, 246, 244, 0.65);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
  white-space: nowrap;
}

/* line 195, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-etiquette.est-option {
  border-color: rgba(204, 144, 60, 0.35);
  color: #cc903c;
}

/* line 202, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 24px;
}

/* line 213, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-cta .v3-btn-primary {
  padding: 13px 22px;
  font-size: 0.92rem;
}

/* line 217, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-cta .v3-btn-primary > span {
  text-wrap: balance;
}

/* line 220, app/assets/stylesheets/landing_congress.scss */
.landing-v3 .nv-congres .nv-congres-note {
  max-width: 62ch;
  margin: 0;
  color: rgba(247, 246, 244, 0.42);
  font-size: 0.72rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  /* line 233, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .nv-congres .nv-congres-cta {
    align-items: stretch;
  }
  /* line 234, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .nv-congres .nv-congres-cta .v3-btn-primary {
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  /* line 242, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .nv-congres .nv-congres-ligne {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    column-gap: 10px;
  }
  /* line 247, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .nv-congres .nv-congres-avatar {
    width: 32px;
    height: 32px;
    font-size: 0.68rem;
  }
  /* line 253, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .nv-congres .nv-congres-nom {
    white-space: normal;
  }
  /* line 254, app/assets/stylesheets/landing_congress.scss */
  .landing-v3 .nv-congres .nv-congres-montant-valeur {
    font-size: 1rem;
  }
}
/* line 15, app/assets/stylesheets/congress.scss */
.cg-page {
  --cg-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.038), rgba(255, 255, 255, 0.014));
  --cg-surface-solid: #0d1422;
  --cg-raised: rgba(255, 255, 255, 0.03);
  --cg-hover: rgba(255, 255, 255, 0.045);
  --cg-input: rgba(255, 255, 255, 0.04);
  --cg-border: rgba(255, 255, 255, 0.075);
  --cg-border-strong: rgba(255, 255, 255, 0.13);
  --cg-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 18px 40px rgba(0, 0, 0, 0.28);
  --cg-text: #f7f6f4;
  --cg-text-2: rgba(226, 232, 240, 0.74);
  --cg-text-3: rgba(203, 213, 225, 0.52);
  --cg-gold: #cc903c;
  --cg-gold-text: #e0bc8a;
  --cg-gold-soft: rgba(204, 144, 60, 0.12);
  --cg-gold-line: rgba(204, 144, 60, 0.38);
  --cg-buy: #22c55e;
  --cg-buy-text: #4ade80;
  --cg-buy-soft: rgba(34, 197, 94, 0.13);
  --cg-buy-bar: linear-gradient(90deg, rgba(34, 197, 94, 0.45), #22c55e);
  --cg-sell: #ef4444;
  --cg-sell-text: #f87171;
  --cg-sell-soft: rgba(239, 68, 68, 0.13);
  --cg-sell-bar: linear-gradient(90deg, rgba(239, 68, 68, 0.45), #ef4444);
  --cg-neutral-soft: rgba(148, 163, 184, 0.14);
  --cg-figures: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --cg-radius: 20px;
}

/* line 49, app/assets/stylesheets/congress.scss */
.cg-shell {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 8px 0 40px;
  color: var(--cg-text);
}

/* line 59, app/assets/stylesheets/congress.scss */
.cg-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

/* line 65, app/assets/stylesheets/congress.scss */
.cg-grid.cg-grid--even {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* line 68, app/assets/stylesheets/congress.scss */
.cg-period-block {
  transition: opacity 0.2s ease;
}

/* line 71, app/assets/stylesheets/congress.scss */
.cg-period-block.is-loading {
  opacity: 0.5;
  pointer-events: none;
}

/* line 78, app/assets/stylesheets/congress.scss */
.cg-card {
  position: relative;
  padding: 22px 24px;
  border-radius: var(--cg-radius);
  border: 1px solid var(--cg-border);
  background: var(--cg-surface);
  box-shadow: var(--cg-shadow);
}

/* line 87, app/assets/stylesheets/congress.scss */
.cg-card--flat {
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}

/* line 94, app/assets/stylesheets/congress.scss */
.cg-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px 20px;
  margin-bottom: 18px;
}

/* line 102, app/assets/stylesheets/congress.scss */
.cg-card__head.cg-card__head--stack {
  flex-direction: column;
  align-items: stretch;
}

/* line 108, app/assets/stylesheets/congress.scss */
.cg-page .cg-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: var(--police-texte);
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--cg-text);
}

/* line 121, app/assets/stylesheets/congress.scss */
.cg-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  font-size: 0.8rem;
  color: var(--cg-gold-text);
  background: var(--cg-gold-soft);
  border: 1px solid var(--cg-gold-line);
}

/* line 135, app/assets/stylesheets/congress.scss */
.cg-card__subtitle {
  margin: 5px 0 0;
  font-size: 0.83rem;
  line-height: 1.55;
  color: var(--cg-text-2);
  max-width: 62ch;
}

/* line 143, app/assets/stylesheets/congress.scss */
.cg-page .cg-eyebrow {
  margin: 0;
  font-family: var(--police-texte);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--cg-text-3);
}

/* line 153, app/assets/stylesheets/congress.scss */
.cg-eyebrow__sep {
  margin: 0 4px;
}

/* line 154, app/assets/stylesheets/congress.scss */
.cg-eyebrow__period {
  color: var(--cg-gold-text);
}

/* line 156, app/assets/stylesheets/congress.scss */
.cg-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 26px 18px;
  border-radius: 14px;
  border: 1px dashed var(--cg-border-strong);
  font-size: 0.86rem;
  text-align: center;
  color: var(--cg-text-3);
}

/* line 170, app/assets/stylesheets/congress.scss */
.cg-note {
  margin: 14px 0 0;
  font-size: 0.74rem;
  line-height: 1.5;
  color: var(--cg-text-3);
}

/* line 177, app/assets/stylesheets/congress.scss */
.cg-chip {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  white-space: nowrap;
  color: var(--cg-text-2);
  background: var(--cg-raised);
  border: 1px solid var(--cg-border);
  font-variant-numeric: tabular-nums;
}

/* line 192, app/assets/stylesheets/congress.scss */
.cg-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 6px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--cg-gold-text);
  background: var(--cg-gold-soft);
}

/* line 206, app/assets/stylesheets/congress.scss */
.cg-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 213, app/assets/stylesheets/congress.scss */
.cg-dot.cg-dot--buy {
  background: var(--cg-buy);
}

/* line 214, app/assets/stylesheets/congress.scss */
.cg-dot.cg-dot--sell {
  background: var(--cg-sell);
}

/* line 217, app/assets/stylesheets/congress.scss */
.cg-sep {
  margin: 0 6px;
  opacity: 0.55;
}

/* line 222, app/assets/stylesheets/congress.scss */
.cg-page .is-buy {
  color: var(--cg-buy-text);
}

/* line 223, app/assets/stylesheets/congress.scss */
.cg-page .is-sell {
  color: var(--cg-sell-text);
}

/* line 224, app/assets/stylesheets/congress.scss */
.cg-page .is-up {
  color: var(--cg-buy-text);
}

/* line 225, app/assets/stylesheets/congress.scss */
.cg-page .is-down {
  color: var(--cg-sell-text);
}

/* line 227, app/assets/stylesheets/congress.scss */
.cg-page :focus-visible {
  outline: 2px solid var(--cg-gold);
  outline-offset: 2px;
}

/* line 233, app/assets/stylesheets/congress.scss */
.cg-hero {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px 36px;
  padding: 30px 30px 26px;
  border-radius: 24px;
  border: 1px solid var(--cg-border);
  background: radial-gradient(120% 150% at 100% 0%, rgba(204, 144, 60, 0.17) 0%, rgba(204, 144, 60, 0) 52%), radial-gradient(90% 140% at 0% 100%, rgba(59, 130, 246, 0.06) 0%, rgba(59, 130, 246, 0) 60%), linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012));
  box-shadow: var(--cg-shadow);
  overflow: hidden;
  isolation: isolate;
}

/* line 252, app/assets/stylesheets/congress.scss */
.cg-hero::after {
  content: '';
  position: absolute;
  inset: 0 0 0 45%;
  z-index: -1;
  background: repeating-linear-gradient(90deg, rgba(224, 188, 138, 0.07) 0 2px, transparent 2px 22px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 70%);
  mask-image: linear-gradient(90deg, transparent, #000 70%);
  pointer-events: none;
}

/* line 264, app/assets/stylesheets/congress.scss */
.cg-hero__main {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
  flex: 1 1 420px;
}

/* line 272, app/assets/stylesheets/congress.scss */
.cg-hero__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  font-size: 1.35rem;
  color: var(--cg-gold-text);
  background: linear-gradient(145deg, rgba(204, 144, 60, 0.22), rgba(204, 144, 60, 0.05));
  border: 1px solid var(--cg-gold-line);
  box-shadow: 0 10px 30px rgba(204, 144, 60, 0.15);
}

/* line 287, app/assets/stylesheets/congress.scss */
.cg-hero__text {
  min-width: 0;
}

/* line 289, app/assets/stylesheets/congress.scss */
.cg-hero__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-bottom: 10px;
}

/* line 297, app/assets/stylesheets/congress.scss */
.cg-hero__updated {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: var(--cg-text-2);
}

/* line 305, app/assets/stylesheets/congress.scss */
.cg-live-dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cg-buy);
}

/* line 312, app/assets/stylesheets/congress.scss */
.cg-live-dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--cg-buy);
  animation: cg-pulse 2.2s ease-out infinite;
}

/* line 322, app/assets/stylesheets/congress.scss */
.cg-page .cg-hero__title {
  margin: 0;
  font-family: "Inter", var(--police-texte);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--cg-text);
  text-wrap: balance;
}

/* line 333, app/assets/stylesheets/congress.scss */
.cg-hero__lead {
  margin: 10px 0 0;
  max-width: 58ch;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--cg-text-2);
}

/* line 342, app/assets/stylesheets/congress.scss */
.cg-coverage {
  display: flex;
  margin: 0;
  padding: 16px 6px;
  border-radius: 16px;
  border: 1px solid var(--cg-border);
  background: rgba(0, 6, 21, 0.35);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

/* line 353, app/assets/stylesheets/congress.scss */
.cg-coverage__item {
  min-width: 0;
  padding: 0 20px;
  border-left: 1px solid var(--cg-border);
}

/* line 358, app/assets/stylesheets/congress.scss */
.cg-coverage__item:first-child {
  border-left: 0;
}

/* line 360, app/assets/stylesheets/congress.scss */
.cg-coverage__item dt {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--cg-text-3);
}

/* line 369, app/assets/stylesheets/congress.scss */
.cg-coverage__item dd {
  margin: 6px 0 0;
  font-family: var(--cg-figures);
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cg-text);
  font-variant-numeric: tabular-nums;
}

/* line 382, app/assets/stylesheets/congress.scss */
.cg-periods {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  min-width: 0;
  max-width: 100%;
}

/* line 391, app/assets/stylesheets/congress.scss */
.cg-periods__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cg-text-3);
}

/* line 398, app/assets/stylesheets/congress.scss */
.cg-periods__label i {
  margin-right: 4px;
}

/* line 401, app/assets/stylesheets/congress.scss */
.cg-periods__options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* line 407, app/assets/stylesheets/congress.scss */
.cg-period {
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--cg-border-strong);
  background: var(--cg-raised);
  font-family: var(--police-texte);
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  color: var(--cg-text-2);
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 422, app/assets/stylesheets/congress.scss */
.cg-period:hover {
  color: var(--cg-text);
  border-color: var(--cg-gold-line);
}

/* line 427, app/assets/stylesheets/congress.scss */
.cg-period[aria-pressed="true"] {
  color: #1a1306;
  border-color: transparent;
  background: linear-gradient(135deg, #f0d3a6, #cc903c);
  box-shadow: 0 6px 18px rgba(204, 144, 60, 0.28);
}

/* line 434, app/assets/stylesheets/congress.scss */
.cg-period[aria-busy="true"] {
  animation: cg-breathe 1s ease-in-out infinite;
}

/* line 437, app/assets/stylesheets/congress.scss */
.cg-toolbar {
  display: flex;
  justify-content: flex-start;
}

/* line 443, app/assets/stylesheets/congress.scss */
.cg-summary__head {
  margin-bottom: 16px;
}

/* line 445, app/assets/stylesheets/congress.scss */
.cg-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

/* line 451, app/assets/stylesheets/congress.scss */
.cg-kpi {
  min-width: 0;
  padding: 2px 22px;
  border-left: 1px solid var(--cg-border);
}

/* line 456, app/assets/stylesheets/congress.scss */
.cg-kpi:first-child {
  padding-left: 0;
  border-left: 0;
}

/* line 461, app/assets/stylesheets/congress.scss */
.cg-kpi dt {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--cg-text-2);
}

/* line 470, app/assets/stylesheets/congress.scss */
.cg-kpi dd {
  margin: 0;
}

/* line 473, app/assets/stylesheets/congress.scss */
.cg-kpi__value {
  margin-top: 6px !important;
  font-family: var(--cg-figures);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cg-text);
  font-variant-numeric: tabular-nums;
}

/* line 484, app/assets/stylesheets/congress.scss */
.cg-kpi__sub {
  margin-top: 4px !important;
  font-size: 0.82rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 491, app/assets/stylesheets/congress.scss */
.cg-kpi--buy .cg-kpi__sub {
  color: var(--cg-buy-text);
}

/* line 492, app/assets/stylesheets/congress.scss */
.cg-kpi--sell .cg-kpi__sub {
  color: var(--cg-sell-text);
}

/* line 494, app/assets/stylesheets/congress.scss */
.cg-balance {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
}

/* line 501, app/assets/stylesheets/congress.scss */
.cg-balance__bar {
  display: flex;
  flex: 1 1 auto;
  gap: 3px;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
}

/* line 510, app/assets/stylesheets/congress.scss */
.cg-balance__buy {
  border-radius: 999px;
  background: var(--cg-buy-bar);
  animation: cg-grow 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  transform-origin: left center;
}

/* line 517, app/assets/stylesheets/congress.scss */
.cg-balance__sell {
  flex: 1 1 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef4444, rgba(239, 68, 68, 0.45));
}

/* line 523, app/assets/stylesheets/congress.scss */
.cg-balance__label {
  flex-shrink: 0;
  margin: 0;
  font-size: 0.78rem;
  color: var(--cg-text-2);
  font-variant-numeric: tabular-nums;
}

/* line 531, app/assets/stylesheets/congress.scss */
.cg-summary__notes {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--cg-border);
  font-size: 0.74rem;
  line-height: 1.5;
  color: var(--cg-text-3);
}

/* line 544, app/assets/stylesheets/congress.scss */
.cg-segmented {
  display: inline-flex;
  align-self: flex-start;
  gap: 4px;
  padding: 4px;
  border-radius: 13px;
  border: 1px solid var(--cg-border);
  background: var(--cg-raised);
}

/* line 554, app/assets/stylesheets/congress.scss */
.cg-segmented__option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  font-family: var(--police-texte);
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--cg-text-3);
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* line 572, app/assets/stylesheets/congress.scss */
.cg-segmented__option i {
  font-size: 0.75rem;
}

/* line 574, app/assets/stylesheets/congress.scss */
.cg-segmented__option:hover {
  color: var(--cg-text);
}

/* line 576, app/assets/stylesheets/congress.scss */
.cg-segmented__option[aria-pressed="true"] {
  color: var(--cg-text);
  background: var(--cg-hover);
  box-shadow: inset 0 0 0 1px var(--cg-border-strong);
}

/* line 582, app/assets/stylesheets/congress.scss */
.cg-segmented__option.is-buy[aria-pressed="true"] {
  color: var(--cg-buy-text);
  background: var(--cg-buy-soft);
  box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.3);
}

/* line 588, app/assets/stylesheets/congress.scss */
.cg-segmented__option.is-sell[aria-pressed="true"] {
  color: var(--cg-sell-text);
  background: var(--cg-sell-soft);
  box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.3);
}

/* line 595, app/assets/stylesheets/congress.scss */
.cg-segmented--sm .cg-segmented__option {
  height: 30px;
  padding: 0 12px;
  font-size: 0.76rem;
}

/* line 602, app/assets/stylesheets/congress.scss */
.cg-flow-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 611, app/assets/stylesheets/congress.scss */
.cg-flow {
  display: grid;
  grid-template-columns: 20px 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 10px;
  border-radius: 14px;
  transition: background 0.15s ease;
  animation: cg-rise 0.45s ease both;
}

/* line 622, app/assets/stylesheets/congress.scss */
.cg-flow:hover {
  background: var(--cg-hover);
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(1) {
  animation-delay: 0s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(2) {
  animation-delay: 0.035s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(3) {
  animation-delay: 0.07s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(4) {
  animation-delay: 0.105s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(5) {
  animation-delay: 0.14s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(6) {
  animation-delay: 0.175s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(7) {
  animation-delay: 0.21s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(8) {
  animation-delay: 0.245s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(9) {
  animation-delay: 0.28s;
}

/* line 625, app/assets/stylesheets/congress.scss */
.cg-flow:nth-child(10) {
  animation-delay: 0.315s;
}

/* line 629, app/assets/stylesheets/congress.scss */
.cg-flow__rank {
  font-family: var(--cg-figures);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 638, app/assets/stylesheets/congress.scss */
.cg-flow__body {
  min-width: 0;
}

/* line 640, app/assets/stylesheets/congress.scss */
.cg-flow__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

/* line 647, app/assets/stylesheets/congress.scss */
.cg-flow__id {
  display: flex;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
}

/* line 654, app/assets/stylesheets/congress.scss */
.cg-flow__ticker {
  flex-shrink: 0;
  font-family: var(--cg-figures);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--cg-text);
  text-decoration: none;
}

/* line 663, app/assets/stylesheets/congress.scss */
.cg-flow__ticker.is-link {
  border-bottom: 1px dashed var(--cg-gold-line);
}

/* line 666, app/assets/stylesheets/congress.scss */
.cg-flow__ticker.is-link:hover, .cg-flow__ticker.is-link:focus-visible {
  color: var(--cg-gold-text);
}

/* line 671, app/assets/stylesheets/congress.scss */
.cg-flow__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.82rem;
  color: var(--cg-text-2);
}

/* line 680, app/assets/stylesheets/congress.scss */
.cg-flow__net {
  flex-shrink: 0;
  font-family: var(--cg-figures);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* line 689, app/assets/stylesheets/congress.scss */
.cg-flow__bar {
  height: 6px;
  margin: 9px 0 7px;
  border-radius: 999px;
  background: var(--cg-raised);
  overflow: hidden;
}

/* line 696, app/assets/stylesheets/congress.scss */
.cg-flow__bar span {
  display: block;
  width: calc(var(--cg-share, 0) * 100%);
  height: 100%;
  border-radius: 999px;
  background: var(--cg-buy-bar);
  transform-origin: left center;
  animation: cg-grow 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* line 707, app/assets/stylesheets/congress.scss */
.cg-flow-list.is-sells .cg-flow__bar span {
  background: var(--cg-sell-bar);
}

/* line 709, app/assets/stylesheets/congress.scss */
.cg-flow__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 4px;
  margin: 0;
  font-size: 0.75rem;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 719, app/assets/stylesheets/congress.scss */
.cg-flow__meta .cg-tag {
  margin-left: 10px;
}

/* line 722, app/assets/stylesheets/congress.scss */
.cg-flow__meta-item {
  white-space: nowrap;
}

/* line 730, app/assets/stylesheets/congress.scss */
.cg-member-header .page-title-text {
  color: var(--cg-text);
}

/* line 732, app/assets/stylesheets/congress.scss */
.cg-page--member .dashboard-header .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid var(--cg-border-strong);
  background: transparent;
  color: var(--cg-text-2);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 745, app/assets/stylesheets/congress.scss */
.cg-page--member .dashboard-header .btn-ghost i {
  font-size: 0.85rem;
}

/* line 747, app/assets/stylesheets/congress.scss */
.cg-page--member .dashboard-header .btn-ghost:hover, .cg-page--member .dashboard-header .btn-ghost:focus-visible {
  background: var(--cg-hover);
  border-color: var(--cg-gold-line);
  color: var(--cg-gold-text);
}

/* line 757, app/assets/stylesheets/congress.scss */
.cg-watch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--cg-gold-line);
  background: var(--cg-gold-soft);
  color: var(--cg-gold-text);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

/* line 774, app/assets/stylesheets/congress.scss */
.cg-watch i {
  font-size: 0.66rem;
}

/* line 776, app/assets/stylesheets/congress.scss */
.cg-watch:hover:not(:disabled) {
  background: rgba(204, 144, 60, 0.2);
  transform: translateY(-1px);
}

/* line 781, app/assets/stylesheets/congress.scss */
.cg-watch:focus-visible {
  outline: 2px solid var(--cg-gold);
  outline-offset: 2px;
}

/* line 786, app/assets/stylesheets/congress.scss */
.cg-watch:disabled {
  cursor: default;
}

/* line 788, app/assets/stylesheets/congress.scss */
.cg-watch.is-done {
  border-color: rgba(34, 197, 94, 0.35);
  background: var(--cg-buy-soft);
  color: var(--cg-buy-text);
}

/* line 796, app/assets/stylesheets/congress.scss */
.cg-logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(145deg, #1b2333, #111825);
  border: 1px solid var(--cg-border-strong);
}

/* line 809, app/assets/stylesheets/congress.scss */
.cg-logo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 6px;
  object-fit: contain;
  background: #ffffff;
}

/* line 819, app/assets/stylesheets/congress.scss */
.cg-logo.cg-logo--sm {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

/* line 824, app/assets/stylesheets/congress.scss */
.cg-logo.cg-logo--sm .cg-logo__initials {
  font-size: 0.66rem;
}

/* line 825, app/assets/stylesheets/congress.scss */
.cg-logo.cg-logo--sm img {
  padding: 4px;
}

/* line 829, app/assets/stylesheets/congress.scss */
.cg-logo__initials {
  font-family: var(--cg-figures);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: var(--cg-gold-text);
}

/* line 837, app/assets/stylesheets/congress.scss */
.cg-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-family: var(--cg-figures);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--cg-gold-text);
  background: radial-gradient(circle at 30% 25%, rgba(224, 188, 138, 0.28), rgba(204, 144, 60, 0.06) 70%), #121a29;
  border: 1px solid var(--cg-gold-line);
}

/* line 853, app/assets/stylesheets/congress.scss */
.cg-avatar.cg-avatar--sm {
  width: 32px;
  height: 32px;
  font-size: 0.68rem;
}

/* line 859, app/assets/stylesheets/congress.scss */
.cg-avatar.cg-avatar--lg {
  width: 78px;
  height: 78px;
  font-size: 1.5rem;
  box-shadow: 0 0 0 6px rgba(204, 144, 60, 0.08), 0 14px 34px rgba(0, 0, 0, 0.35);
}

/* line 868, app/assets/stylesheets/congress.scss */
.cg-leader-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 876, app/assets/stylesheets/congress.scss */
.cg-leader-list li {
  animation: cg-rise 0.45s ease both;
}

/* line 879, app/assets/stylesheets/congress.scss */
.cg-leader-list li:nth-child(1) {
  animation-delay: 0s;
}

/* line 879, app/assets/stylesheets/congress.scss */
.cg-leader-list li:nth-child(2) {
  animation-delay: 0.05s;
}

/* line 879, app/assets/stylesheets/congress.scss */
.cg-leader-list li:nth-child(3) {
  animation-delay: 0.1s;
}

/* line 879, app/assets/stylesheets/congress.scss */
.cg-leader-list li:nth-child(4) {
  animation-delay: 0.15s;
}

/* line 879, app/assets/stylesheets/congress.scss */
.cg-leader-list li:nth-child(5) {
  animation-delay: 0.2s;
}

/* line 883, app/assets/stylesheets/congress.scss */
.cg-leader {
  display: grid;
  grid-template-columns: 20px 44px minmax(0, 1fr) auto 12px;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid var(--cg-border);
  background: var(--cg-raised);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

/* line 896, app/assets/stylesheets/congress.scss */
.cg-leader:hover, .cg-leader:focus-visible {
  color: inherit;
  border-color: var(--cg-gold-line);
  background: var(--cg-gold-soft);
}

/* line 903, app/assets/stylesheets/congress.scss */
.cg-leader:hover .cg-leader__go {
  transform: translateX(2px);
  color: var(--cg-gold-text);
}

/* line 906, app/assets/stylesheets/congress.scss */
.cg-leader__rank {
  font-family: var(--cg-figures);
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
  color: var(--cg-gold-text);
  font-variant-numeric: tabular-nums;
}

/* line 915, app/assets/stylesheets/congress.scss */
.cg-leader-list.is-worst .cg-leader__rank {
  color: var(--cg-text-3);
}

/* line 917, app/assets/stylesheets/congress.scss */
.cg-leader__who {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 923, app/assets/stylesheets/congress.scss */
.cg-leader__line {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

/* line 929, app/assets/stylesheets/congress.scss */
.cg-leader__line .cg-chip {
  flex-shrink: 0;
}

/* line 932, app/assets/stylesheets/congress.scss */
.cg-leader__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--cg-text);
}

/* line 942, app/assets/stylesheets/congress.scss */
.cg-leader__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 10px;
  margin-top: 4px;
  font-size: 0.73rem;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 952, app/assets/stylesheets/congress.scss */
.cg-leader__meta > span {
  white-space: nowrap;
}

/* line 955, app/assets/stylesheets/congress.scss */
.cg-leader__score {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

/* line 961, app/assets/stylesheets/congress.scss */
.cg-leader__score strong {
  font-family: var(--cg-figures);
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

/* line 971, app/assets/stylesheets/congress.scss */
.cg-leader-legend {
  margin: 0 0 8px;
  padding-right: 37px;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-align: right;
  text-transform: uppercase;
  color: var(--cg-text-3);
}

/* line 982, app/assets/stylesheets/congress.scss */
.cg-leader__go {
  font-size: 0.7rem;
  color: var(--cg-text-3);
  transition: transform 0.15s ease, color 0.15s ease;
}

/* line 988, app/assets/stylesheets/congress.scss */
.cg-whole {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px dashed var(--cg-border-strong);
  background: var(--cg-raised);
}

/* line 995, app/assets/stylesheets/congress.scss */
.cg-whole.is-down {
  border-color: rgba(239, 68, 68, 0.32);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.07), transparent 70%);
}

/* line 996, app/assets/stylesheets/congress.scss */
.cg-whole.is-up {
  border-color: rgba(34, 197, 94, 0.32);
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.07), transparent 70%);
}

/* line 999, app/assets/stylesheets/congress.scss */
.cg-whole__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

/* line 1006, app/assets/stylesheets/congress.scss */
.cg-whole__title {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--cg-text);
}

/* line 1011, app/assets/stylesheets/congress.scss */
.cg-whole__title i {
  margin-right: 6px;
  color: var(--cg-gold-text);
}

/* line 1014, app/assets/stylesheets/congress.scss */
.cg-whole__value {
  font-family: var(--cg-figures);
  font-size: 1.12rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1021, app/assets/stylesheets/congress.scss */
.cg-whole.is-down .cg-whole__value {
  color: var(--cg-sell-text);
}

/* line 1022, app/assets/stylesheets/congress.scss */
.cg-whole.is-up .cg-whole__value {
  color: var(--cg-buy-text);
}

/* line 1024, app/assets/stylesheets/congress.scss */
.cg-whole__text {
  margin: 6px 0 0;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--cg-text-2);
}

/* line 1032, app/assets/stylesheets/congress.scss */
.cg-filing-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 1038, app/assets/stylesheets/congress.scss */
.cg-filing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "who date" "lines source";
  align-items: center;
  gap: 8px 14px;
  padding: 13px 0;
  border-top: 1px solid var(--cg-border);
}

/* line 1049, app/assets/stylesheets/congress.scss */
.cg-filing:first-child {
  padding-top: 0;
  border-top: 0;
}

/* line 1055, app/assets/stylesheets/congress.scss */
.cg-filing__who {
  grid-area: who;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--cg-text);
  text-decoration: none;
}

/* line 1064, app/assets/stylesheets/congress.scss */
.cg-filing__who:hover .cg-filing__name, .cg-filing__who:focus-visible .cg-filing__name {
  color: var(--cg-gold-text);
}

/* line 1068, app/assets/stylesheets/congress.scss */
.cg-filing__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.88rem;
  font-weight: 700;
  transition: color 0.15s ease;
}

/* line 1078, app/assets/stylesheets/congress.scss */
.cg-filing__date {
  grid-area: date;
  font-size: 0.78rem;
  white-space: nowrap;
  color: var(--cg-text-2);
  font-variant-numeric: tabular-nums;
}

/* line 1086, app/assets/stylesheets/congress.scss */
.cg-filing__lines {
  grid-area: lines;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  min-width: 0;
  padding-left: 42px;
}

/* line 1096, app/assets/stylesheets/congress.scss */
.cg-filing__tickers {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

/* line 1102, app/assets/stylesheets/congress.scss */
.cg-ticker-chip {
  padding: 2px 8px;
  border-radius: 7px;
  font-family: var(--cg-figures);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

/* line 1110, app/assets/stylesheets/congress.scss */
.cg-ticker-chip.is-buy {
  color: var(--cg-buy-text);
  background: var(--cg-buy-soft);
}

/* line 1111, app/assets/stylesheets/congress.scss */
.cg-ticker-chip.is-sell {
  color: var(--cg-sell-text);
  background: var(--cg-sell-soft);
}

/* line 1112, app/assets/stylesheets/congress.scss */
.cg-ticker-chip.is-neutral {
  color: var(--cg-text-2);
  background: var(--cg-neutral-soft);
}

/* line 1115, app/assets/stylesheets/congress.scss */
.cg-filing__counts {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  font-size: 0.73rem;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1124, app/assets/stylesheets/congress.scss */
.cg-source {
  grid-area: source;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-self: end;
  padding: 5px 10px;
  border-radius: 9px;
  border: 1px solid var(--cg-border-strong);
  font-size: 0.73rem;
  font-weight: 700;
  color: var(--cg-text-2);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}

/* line 1139, app/assets/stylesheets/congress.scss */
.cg-source:hover, .cg-source:focus-visible {
  color: var(--cg-gold-text);
  border-color: var(--cg-gold-line);
}

/* line 1147, app/assets/stylesheets/congress.scss */
.cg-search {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
}

/* line 1153, app/assets/stylesheets/congress.scss */
.cg-search i {
  position: absolute;
  left: 14px;
  font-size: 0.8rem;
  color: var(--cg-text-3);
  pointer-events: none;
}

/* line 1161, app/assets/stylesheets/congress.scss */
.cg-search input {
  width: 100%;
  height: 42px;
  padding: 0 14px 0 38px;
  border-radius: 12px;
  border: 1px solid var(--cg-border-strong);
  background: var(--cg-input);
  font-family: var(--police-texte);
  font-size: 0.88rem;
  color: var(--cg-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 1173, app/assets/stylesheets/congress.scss */
.cg-search input::placeholder {
  color: var(--cg-text-3);
}

/* line 1175, app/assets/stylesheets/congress.scss */
.cg-search input:focus {
  outline: none;
  border-color: var(--cg-gold-line);
  box-shadow: 0 0 0 3px rgba(204, 144, 60, 0.14);
}

/* line 1183, app/assets/stylesheets/congress.scss */
.cg-member-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 1192, app/assets/stylesheets/congress.scss */
.cg-member {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--cg-border);
  background: var(--cg-raised);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

/* line 1205, app/assets/stylesheets/congress.scss */
.cg-member:hover, .cg-member:focus-visible {
  color: inherit;
  border-color: var(--cg-gold-line);
  background: var(--cg-gold-soft);
}

/* line 1212, app/assets/stylesheets/congress.scss */
.cg-member.is-quiet {
  opacity: 0.6;
}

/* line 1215, app/assets/stylesheets/congress.scss */
.cg-member__who {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 1221, app/assets/stylesheets/congress.scss */
.cg-member__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--cg-text);
}

/* line 1230, app/assets/stylesheets/congress.scss */
.cg-member__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  font-size: 0.72rem;
  white-space: nowrap;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1241, app/assets/stylesheets/congress.scss */
.cg-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 16px auto 0;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid var(--cg-gold-line);
  background: transparent;
  font-family: var(--police-texte);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--cg-gold-text);
  cursor: pointer;
  transition: background 0.15s ease;
}

/* line 1258, app/assets/stylesheets/congress.scss */
.cg-more:hover:not(:disabled) {
  background: var(--cg-gold-soft);
}

/* line 1259, app/assets/stylesheets/congress.scss */
.cg-more:disabled {
  opacity: 0.7;
  cursor: progress;
}

/* line 1260, app/assets/stylesheets/congress.scss */
.cg-more i {
  font-size: 0.7rem;
}

/* line 1264, app/assets/stylesheets/congress.scss */
.cg-disclaimer {
  padding: 18px 22px;
  border-radius: 18px;
  border: 1px solid var(--cg-border);
  background: var(--cg-raised);
}

/* line 1271, app/assets/stylesheets/congress.scss */
.cg-page .cg-disclaimer__title {
  margin: 0 0 12px;
  font-family: var(--police-texte);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--cg-text-3);
}

/* line 1281, app/assets/stylesheets/congress.scss */
.cg-disclaimer__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 1289, app/assets/stylesheets/congress.scss */
.cg-disclaimer__list li {
  display: flex;
  gap: 10px;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--cg-text-2);
}

/* line 1297, app/assets/stylesheets/congress.scss */
.cg-disclaimer__list i {
  width: 16px;
  flex-shrink: 0;
  margin-top: 3px;
  font-size: 0.75rem;
  text-align: center;
  color: var(--cg-gold-text);
  opacity: 0.85;
}

/* line 1309, app/assets/stylesheets/congress.scss */
.cg-profile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 28px;
  border-radius: 24px;
  border: 1px solid var(--cg-border);
  background: radial-gradient(110% 150% at 100% 0%, rgba(204, 144, 60, 0.14) 0%, rgba(204, 144, 60, 0) 55%), linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012));
  box-shadow: var(--cg-shadow);
}

/* line 1323, app/assets/stylesheets/congress.scss */
.cg-profile__main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 22px;
}

/* line 1330, app/assets/stylesheets/congress.scss */
.cg-profile__text {
  flex: 1 1 260px;
  min-width: 0;
}

/* line 1335, app/assets/stylesheets/congress.scss */
.cg-profile__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  font-size: 0.78rem;
  color: var(--cg-text-2);
}

/* line 1344, app/assets/stylesheets/congress.scss */
.cg-page .cg-profile__name {
  margin: 8px 0 6px;
  font-family: "Inter", var(--police-texte);
  font-size: 1.95rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--cg-text);
}

/* line 1354, app/assets/stylesheets/congress.scss */
.cg-profile__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin: 0;
  font-size: 0.84rem;
  color: var(--cg-text-2);
}

/* line 1364, app/assets/stylesheets/congress.scss */
.cg-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 16px;
  border-radius: 12px;
  border: 1px solid var(--cg-gold-line);
  background: var(--cg-gold-soft);
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--cg-gold-text);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 1378, app/assets/stylesheets/congress.scss */
.cg-button:hover, .cg-button:focus-visible {
  color: #1a1306;
  background: linear-gradient(135deg, #f0d3a6, #cc903c);
}

/* line 1385, app/assets/stylesheets/congress.scss */
.cg-button__ext {
  font-size: 0.66rem;
  opacity: 0.75;
}

/* line 1390, app/assets/stylesheets/congress.scss */
.cg-record {
  padding-top: 18px;
  border-top: 1px solid var(--cg-border);
}

/* line 1395, app/assets/stylesheets/congress.scss */
.cg-record__stats {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 12px;
  margin: 12px 0 0;
}

/* line 1402, app/assets/stylesheets/congress.scss */
.cg-record__stat {
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--cg-border);
  background: var(--cg-raised);
}

/* line 1408, app/assets/stylesheets/congress.scss */
.cg-record__stat dt {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--cg-text-2);
}

/* line 1414, app/assets/stylesheets/congress.scss */
.cg-record__stat dd {
  margin: 0;
}

/* line 1416, app/assets/stylesheets/congress.scss */
.cg-record__stat.is-up {
  border-color: rgba(34, 197, 94, 0.3);
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(34, 197, 94, 0.02));
}

/* line 1421, app/assets/stylesheets/congress.scss */
.cg-record__stat.is-down {
  border-color: rgba(239, 68, 68, 0.3);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.02));
}

/* line 1427, app/assets/stylesheets/congress.scss */
.cg-record__value {
  margin-top: 6px !important;
  font-family: var(--cg-figures);
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cg-text);
  font-variant-numeric: tabular-nums;
}

/* line 1438, app/assets/stylesheets/congress.scss */
.cg-record__stat.is-up .cg-record__value {
  color: var(--cg-buy-text);
}

/* line 1439, app/assets/stylesheets/congress.scss */
.cg-record__stat.is-down .cg-record__value {
  color: var(--cg-sell-text);
}

/* line 1441, app/assets/stylesheets/congress.scss */
.cg-record__sub {
  margin-top: 4px !important;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--cg-text-2);
}

/* line 1448, app/assets/stylesheets/congress.scss */
.cg-record__explainer {
  margin: 12px 0 0;
  font-size: 0.76rem;
  line-height: 1.5;
  color: var(--cg-text-3);
}

/* line 1455, app/assets/stylesheets/congress.scss */
.cg-record__pending {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--cg-raised);
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--cg-text-2);
}

/* line 1467, app/assets/stylesheets/congress.scss */
.cg-record__pending i {
  color: var(--cg-gold-text);
}

/* line 1471, app/assets/stylesheets/congress.scss */
.cg-tabs {
  margin-bottom: 20px;
}

/* line 1475, app/assets/stylesheets/congress.scss */
.cg-tab-panel {
  animation: cg-fade 0.32s ease both;
}

/* line 1480, app/assets/stylesheets/congress.scss */
.cg-trade-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 1486, app/assets/stylesheets/congress.scss */
.cg-trade {
  display: grid;
  grid-template-columns: 96px 32px minmax(0, 1fr) auto 132px 30px;
  grid-template-areas: "date logo asset badge amount source";
  align-items: center;
  gap: 14px;
  padding: 12px 4px;
  border-top: 1px solid var(--cg-border);
}

/* line 1495, app/assets/stylesheets/congress.scss */
.cg-trade:first-child {
  border-top: 0;
}

/* line 1498, app/assets/stylesheets/congress.scss */
.cg-trade__date {
  grid-area: date;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 1504, app/assets/stylesheets/congress.scss */
.cg-trade__date time {
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--cg-text);
  font-variant-numeric: tabular-nums;
}

/* line 1512, app/assets/stylesheets/congress.scss */
.cg-trade__date small {
  margin-top: 2px;
  font-size: 0.68rem;
  white-space: nowrap;
  color: var(--cg-text-3);
}

/* line 1520, app/assets/stylesheets/congress.scss */
.cg-trade .cg-logo {
  grid-area: logo;
}

/* line 1522, app/assets/stylesheets/congress.scss */
.cg-trade__asset {
  grid-area: asset;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 1529, app/assets/stylesheets/congress.scss */
.cg-trade__line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

/* line 1536, app/assets/stylesheets/congress.scss */
.cg-trade__ticker {
  flex-shrink: 0;
  font-family: var(--cg-figures);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--cg-text);
  text-decoration: none;
}

/* line 1545, app/assets/stylesheets/congress.scss */
.cg-trade__ticker.is-link {
  border-bottom: 1px dashed var(--cg-gold-line);
}

/* line 1548, app/assets/stylesheets/congress.scss */
.cg-trade__ticker.is-link:hover, .cg-trade__ticker.is-link:focus-visible {
  color: var(--cg-gold-text);
}

/* line 1553, app/assets/stylesheets/congress.scss */
.cg-trade__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8rem;
  color: var(--cg-text-2);
}

/* line 1562, app/assets/stylesheets/congress.scss */
.cg-trade__details {
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  color: var(--cg-text-3);
}

/* line 1571, app/assets/stylesheets/congress.scss */
.cg-type-badge {
  grid-area: badge;
  justify-self: start;
  padding: 3px 9px;
  border-radius: 7px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* line 1582, app/assets/stylesheets/congress.scss */
.cg-type-badge.is-purchase {
  color: var(--cg-buy-text);
  background: var(--cg-buy-soft);
}

/* line 1583, app/assets/stylesheets/congress.scss */
.cg-type-badge.is-sale, .cg-type-badge.is-partial_sale {
  color: var(--cg-sell-text);
  background: var(--cg-sell-soft);
}

/* line 1585, app/assets/stylesheets/congress.scss */
.cg-type-badge.is-exchange {
  color: var(--cg-text-2);
  background: var(--cg-neutral-soft);
}

/* line 1588, app/assets/stylesheets/congress.scss */
.cg-trade__amount {
  grid-area: amount;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

/* line 1595, app/assets/stylesheets/congress.scss */
.cg-trade__amount strong {
  font-family: var(--cg-figures);
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--cg-text);
  font-variant-numeric: tabular-nums;
}

/* line 1605, app/assets/stylesheets/congress.scss */
.cg-trade__source {
  grid-area: source;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  font-size: 0.8rem;
  color: var(--cg-text-3);
  text-decoration: none;
  transition: color 0.15s ease, background 0.15s ease;
}

/* line 1618, app/assets/stylesheets/congress.scss */
.cg-trade__source:hover, .cg-trade__source:focus-visible {
  color: var(--cg-gold-text);
  background: var(--cg-gold-soft);
}

/* line 1625, app/assets/stylesheets/congress.scss */
.cg-trades__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--cg-border);
}

/* line 1635, app/assets/stylesheets/congress.scss */
.cg-trades__foot .cg-more {
  margin: 0;
}

/* line 1638, app/assets/stylesheets/congress.scss */
.cg-trades__count {
  font-size: 0.78rem;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1645, app/assets/stylesheets/congress.scss */
.cg-mflow__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px 24px;
  margin-bottom: 20px;
}

/* line 1654, app/assets/stylesheets/congress.scss */
.cg-mflow__totals {
  display: flex;
  gap: 24px;
  margin: 0;
}

/* line 1659, app/assets/stylesheets/congress.scss */
.cg-mflow__totals dt {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--cg-text-2);
}

/* line 1668, app/assets/stylesheets/congress.scss */
.cg-mflow__totals dd {
  margin: 4px 0 0;
  font-family: var(--cg-figures);
  font-size: 1.15rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* line 1677, app/assets/stylesheets/congress.scss */
.cg-chart {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  height: 230px;
}

/* line 1684, app/assets/stylesheets/congress.scss */
.cg-chart__axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 32px;
  font-family: var(--cg-figures);
  font-size: 0.68rem;
  text-align: right;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

/* line 1695, app/assets/stylesheets/congress.scss */
.cg-chart__axis span {
  line-height: 1;
  transform: translateY(-50%);
}

/* line 1696, app/assets/stylesheets/congress.scss */
.cg-chart__axis span:last-child {
  transform: translateY(50%);
}

/* line 1699, app/assets/stylesheets/congress.scss */
.cg-chart__plot {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 6px;
  height: 100%;
}

/* line 1707, app/assets/stylesheets/congress.scss */
.cg-chart__plot::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 32px;
  border-top: 1px solid var(--cg-border-strong);
  pointer-events: none;
}

/* line 1718, app/assets/stylesheets/congress.scss */
.cg-chart__grid {
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px dashed var(--cg-border);
  pointer-events: none;
}

/* line 1725, app/assets/stylesheets/congress.scss */
.cg-chart__grid.is-top {
  top: 0;
}

/* line 1726, app/assets/stylesheets/congress.scss */
.cg-chart__grid.is-mid {
  top: calc((100% - 32px) / 2);
}

/* line 1729, app/assets/stylesheets/congress.scss */
.cg-chart__month {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-family: var(--police-texte);
  cursor: pointer;
  transition: background 0.15s ease;
}

/* line 1744, app/assets/stylesheets/congress.scss */
.cg-chart__month:hover, .cg-chart__month[aria-pressed="true"] {
  background: var(--cg-hover);
}

/* line 1748, app/assets/stylesheets/congress.scss */
.cg-chart__bars {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  min-height: 0;
}

/* line 1757, app/assets/stylesheets/congress.scss */
.cg-chart__bar {
  width: 34%;
  max-width: 16px;
  border-radius: 4px 4px 1px 1px;
  transform-origin: bottom center;
  animation: cg-grow-up 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* line 1764, app/assets/stylesheets/congress.scss */
.cg-chart__bar.is-buy {
  background: linear-gradient(180deg, #4ade80, rgba(34, 197, 94, 0.5));
}

/* line 1765, app/assets/stylesheets/congress.scss */
.cg-chart__bar.is-sell {
  background: linear-gradient(180deg, #f87171, rgba(239, 68, 68, 0.5));
}

/* line 1768, app/assets/stylesheets/congress.scss */
.cg-chart__label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 32px;
  padding-top: 8px;
  font-size: 0.68rem;
  font-weight: 600;
  white-space: nowrap;
  text-transform: capitalize;
  color: var(--cg-text-3);
}

/* line 1781, app/assets/stylesheets/congress.scss */
.cg-chart__label small {
  font-size: 0.6rem;
  font-weight: 500;
  opacity: 0.8;
}

/* line 1788, app/assets/stylesheets/congress.scss */
.cg-chart__month[aria-pressed="true"] .cg-chart__label {
  color: var(--cg-text);
}

/* line 1790, app/assets/stylesheets/congress.scss */
.cg-chart__detail {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 16px;
  min-height: 1.5em;
  margin: 14px 0 0 66px;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
}

/* line 1800, app/assets/stylesheets/congress.scss */
.cg-chart__detail strong {
  color: var(--cg-text);
  text-transform: capitalize;
}

/* line 1806, app/assets/stylesheets/congress.scss */
.cg-sectors {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--cg-border);
}

/* line 1812, app/assets/stylesheets/congress.scss */
.cg-page .cg-sectors__title {
  margin: 0;
  font-family: var(--police-texte);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--cg-text);
}

/* line 1820, app/assets/stylesheets/congress.scss */
.cg-sector-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 32px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

/* line 1829, app/assets/stylesheets/congress.scss */
.cg-sector__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

/* line 1836, app/assets/stylesheets/congress.scss */
.cg-sector__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--cg-text);
}

/* line 1846, app/assets/stylesheets/congress.scss */
.cg-sector.is-class .cg-sector__label {
  color: var(--cg-text-2);
}

/* line 1848, app/assets/stylesheets/congress.scss */
.cg-sector__total {
  flex-shrink: 0;
  font-family: var(--cg-figures);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--cg-text-2);
  font-variant-numeric: tabular-nums;
}

/* line 1857, app/assets/stylesheets/congress.scss */
.cg-sector__track {
  height: 8px;
  margin: 8px 0 6px;
  border-radius: 999px;
  background: var(--cg-raised);
  overflow: hidden;
}

/* line 1865, app/assets/stylesheets/congress.scss */
.cg-sector__fill {
  display: flex;
  gap: 2px;
  height: 100%;
  border-radius: 999px;
  overflow: hidden;
  transform-origin: left center;
  animation: cg-grow 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* line 1874, app/assets/stylesheets/congress.scss */
.cg-sector__fill .is-buy {
  background: var(--cg-buy);
}

/* line 1875, app/assets/stylesheets/congress.scss */
.cg-sector__fill .is-sell {
  flex: 1 1 auto;
  background: var(--cg-sell);
}

/* line 1878, app/assets/stylesheets/congress.scss */
.cg-sector__meta {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  font-size: 0.72rem;
  color: var(--cg-text-3);
  font-variant-numeric: tabular-nums;
}

@keyframes cg-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes cg-grow-up {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}

@keyframes cg-rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes cg-fade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes cg-pulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(2.8);
    opacity: 0;
  }
}

@keyframes cg-breathe {
  50% {
    opacity: 0.6;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 1918, app/assets/stylesheets/congress.scss */
  .cg-page *,
.cg-page *::before,
.cg-page *::after {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 1199.98px) {
  /* line 1928, app/assets/stylesheets/congress.scss */
  .cg-grid,
.cg-grid.cg-grid--even {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  /* line 1933, app/assets/stylesheets/congress.scss */
  .cg-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 18px;
  }
  /* line 1938, app/assets/stylesheets/congress.scss */
  .cg-kpi:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }
  /* line 1943, app/assets/stylesheets/congress.scss */
  .cg-trade {
    grid-template-columns: 32px minmax(0, 1fr) auto 30px;
    grid-template-areas: "logo asset amount amount" "logo date badge source";
    gap: 6px 12px;
  }
  /* line 1951, app/assets/stylesheets/congress.scss */
  .cg-trade__date {
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
  }
  /* line 1956, app/assets/stylesheets/congress.scss */
  .cg-trade__date small {
    margin-top: 0;
  }
  /* line 1959, app/assets/stylesheets/congress.scss */
  .cg-type-badge {
    justify-self: end;
  }
}

@media (max-width: 767.98px) {
  /* line 1965, app/assets/stylesheets/congress.scss */
  .cg-shell {
    gap: 14px;
    padding-top: calc(64px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
  }
  /* line 1971, app/assets/stylesheets/congress.scss */
  .cg-hero {
    padding: 22px 18px 20px;
    border-radius: 20px;
  }
  /* line 1975, app/assets/stylesheets/congress.scss */
  .cg-hero::after {
    inset: 0 0 0 30%;
  }
  /* line 1978, app/assets/stylesheets/congress.scss */
  .cg-hero__icon {
    display: none;
  }
  /* line 1980, app/assets/stylesheets/congress.scss */
  .cg-page .cg-hero__title {
    font-size: 1.5rem;
  }
  /* line 1982, app/assets/stylesheets/congress.scss */
  .cg-hero__lead {
    font-size: 0.9rem;
  }
  /* line 1984, app/assets/stylesheets/congress.scss */
  .cg-coverage {
    width: 100%;
    padding: 12px 2px;
  }
  /* line 1989, app/assets/stylesheets/congress.scss */
  .cg-coverage__item {
    flex: 1 1 0;
    padding: 0 12px;
  }
  /* line 1993, app/assets/stylesheets/congress.scss */
  .cg-coverage__item dt {
    font-size: 0.6rem;
    letter-spacing: 0.06em;
    white-space: normal;
  }
  /* line 1999, app/assets/stylesheets/congress.scss */
  .cg-coverage__item dd {
    font-size: 1.2rem;
  }
  /* line 2003, app/assets/stylesheets/congress.scss */
  .cg-periods {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
  }
  /* line 2010, app/assets/stylesheets/congress.scss */
  .cg-periods__options {
    flex-wrap: nowrap;
    margin: 0 -12px;
    padding: 2px 12px 4px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  /* line 2019, app/assets/stylesheets/congress.scss */
  .cg-periods__options::-webkit-scrollbar {
    display: none;
  }
  /* line 2022, app/assets/stylesheets/congress.scss */
  .cg-period {
    flex-shrink: 0;
    height: 34px;
    scroll-snap-align: start;
  }
  /* line 2028, app/assets/stylesheets/congress.scss */
  .cg-card {
    padding: 18px 16px;
    border-radius: 18px;
  }
  /* line 2033, app/assets/stylesheets/congress.scss */
  .cg-card--flat {
    padding: 0;
  }
  /* line 2035, app/assets/stylesheets/congress.scss */
  .cg-kpi {
    padding: 0 14px;
  }
  /* line 2037, app/assets/stylesheets/congress.scss */
  .cg-kpi__value {
    font-size: 1.55rem;
  }
  /* line 2039, app/assets/stylesheets/congress.scss */
  .cg-balance {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  /* line 2045, app/assets/stylesheets/congress.scss */
  .cg-flow {
    grid-template-columns: 16px 36px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 11px 4px;
  }
  /* line 2053, app/assets/stylesheets/congress.scss */
  .cg-watch {
    width: 32px;
    height: 32px;
    padding: 0;
    justify-content: center;
  }
  /* line 2059, app/assets/stylesheets/congress.scss */
  .cg-watch span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  /* line 2069, app/assets/stylesheets/congress.scss */
  .cg-logo {
    width: 36px;
    height: 36px;
  }
  /* line 2074, app/assets/stylesheets/congress.scss */
  .cg-flow__name {
    font-size: 0.78rem;
  }
  /* line 2077, app/assets/stylesheets/congress.scss */
  .cg-flow__meta,
.cg-sector__meta {
    column-gap: 10px;
  }
  /* line 2081, app/assets/stylesheets/congress.scss */
  .cg-flow__meta .cg-sep,
.cg-sector__meta .cg-sep {
    display: none;
  }
  /* line 2082, app/assets/stylesheets/congress.scss */
  .cg-flow__meta .cg-tag,
.cg-sector__meta .cg-tag {
    margin-left: 0;
  }
  /* line 2085, app/assets/stylesheets/congress.scss */
  .cg-segmented {
    align-self: stretch;
  }
  /* line 2087, app/assets/stylesheets/congress.scss */
  .cg-segmented__option {
    flex: 1 1 0;
  }
  /* line 2089, app/assets/stylesheets/congress.scss */
  .cg-leader {
    grid-template-columns: 16px 40px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px;
  }
  /* line 2095, app/assets/stylesheets/congress.scss */
  .cg-leader__score strong {
    font-size: 1.02rem;
  }
  /* line 2097, app/assets/stylesheets/congress.scss */
  .cg-leader-legend {
    padding-right: 10px;
  }
  /* line 2099, app/assets/stylesheets/congress.scss */
  .cg-avatar {
    width: 40px;
    height: 40px;
  }
  /* line 2104, app/assets/stylesheets/congress.scss */
  .cg-leader__go {
    display: none;
  }
  /* line 2106, app/assets/stylesheets/congress.scss */
  .cg-leader__last {
    display: none;
  }
  /* line 2109, app/assets/stylesheets/congress.scss */
  .cg-filing {
    grid-template-areas: "who who" "lines lines" "date source";
  }
  /* line 2116, app/assets/stylesheets/congress.scss */
  .cg-filing__lines {
    padding-left: 0;
  }
  /* line 2120, app/assets/stylesheets/congress.scss */
  .cg-trade__date {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  /* line 2125, app/assets/stylesheets/congress.scss */
  .cg-trade__date small {
    margin-top: 1px;
  }
  /* line 2128, app/assets/stylesheets/congress.scss */
  .cg-member-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 2130, app/assets/stylesheets/congress.scss */
  .cg-disclaimer {
    padding: 16px;
  }
  /* line 2132, app/assets/stylesheets/congress.scss */
  .cg-disclaimer__list {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 2134, app/assets/stylesheets/congress.scss */
  .cg-profile {
    padding: 20px 18px;
    border-radius: 20px;
  }
  /* line 2139, app/assets/stylesheets/congress.scss */
  .cg-avatar.cg-avatar--lg {
    width: 64px;
    height: 64px;
    font-size: 1.2rem;
  }
  /* line 2145, app/assets/stylesheets/congress.scss */
  .cg-page .cg-profile__name {
    font-size: 1.5rem;
  }
  /* line 2147, app/assets/stylesheets/congress.scss */
  .cg-button {
    justify-content: center;
    width: 100%;
  }
  /* line 2152, app/assets/stylesheets/congress.scss */
  .cg-record__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 2154, app/assets/stylesheets/congress.scss */
  .cg-record__stat--main {
    grid-column: 1 / -1;
  }
  /* line 2156, app/assets/stylesheets/congress.scss */
  .cg-tabs {
    display: flex;
    width: 100%;
  }
  /* line 2160, app/assets/stylesheets/congress.scss */
  .cg-tabs .cg-segmented__option {
    flex: 1 1 auto;
    height: auto;
    min-height: 38px;
    padding: 6px;
    font-size: 0.75rem;
    white-space: normal;
    line-height: 1.2;
    text-align: center;
  }
  /* line 2170, app/assets/stylesheets/congress.scss */
  .cg-tabs .cg-segmented__option i {
    display: none;
  }
  /* line 2174, app/assets/stylesheets/congress.scss */
  .cg-chart {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 6px;
    height: 190px;
  }
  /* line 2180, app/assets/stylesheets/congress.scss */
  .cg-chart__plot {
    gap: 2px;
  }
  /* line 2182, app/assets/stylesheets/congress.scss */
  .cg-chart__bars {
    gap: 2px;
  }
  /* line 2184, app/assets/stylesheets/congress.scss */
  .cg-chart__bar {
    width: 38%;
  }
  /* line 2186, app/assets/stylesheets/congress.scss */
  .cg-chart__label {
    font-size: 0.6rem;
  }
  /* line 2189, app/assets/stylesheets/congress.scss */
  .cg-chart__label small {
    font-size: 0.55rem;
  }
  /* line 2192, app/assets/stylesheets/congress.scss */
  .cg-chart__detail {
    margin-left: 0;
  }
  /* line 2194, app/assets/stylesheets/congress.scss */
  .cg-sector-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 2202, app/assets/stylesheets/congress.scss */
.cg-activity {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 0.75rem;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(224, 188, 138, 0.22);
  background: rgba(204, 144, 60, 0.06);
  color: rgba(226, 232, 240, 0.8);
  font-size: 0.78rem;
  line-height: 1.4;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}

/* line 2217, app/assets/stylesheets/congress.scss */
.cg-activity:hover, .cg-activity:focus-visible {
  border-color: rgba(224, 188, 138, 0.45);
  background: rgba(204, 144, 60, 0.12);
  color: rgba(226, 232, 240, 0.95);
  text-decoration: none;
}

/* line 2227, app/assets/stylesheets/congress.scss */
.cg-activity.is-compact {
  margin: 12px 16px 0;
  padding: 7px 11px;
  font-size: 0.74rem;
}

@media (max-width: 640px) {
  /* line 2227, app/assets/stylesheets/congress.scss */
  .cg-activity.is-compact {
    margin: 10px 13px 0;
  }
}

/* line 2236, app/assets/stylesheets/congress.scss */
.cg-activity__icon {
  flex-shrink: 0;
  font-size: 0.85rem;
  color: #e0bc8a;
}

/* line 2242, app/assets/stylesheets/congress.scss */
.cg-activity__text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 6px;
  row-gap: 2px;
  min-width: 0;
  flex: 1;
}

/* line 2251, app/assets/stylesheets/congress.scss */
.cg-activity__text strong {
  font-weight: 700;
  color: #f7f6f4;
}

/* line 2257, app/assets/stylesheets/congress.scss */
.cg-activity__part {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

/* line 2264, app/assets/stylesheets/congress.scss */
.cg-activity__sep {
  color: rgba(203, 213, 225, 0.4);
}

/* line 2265, app/assets/stylesheets/congress.scss */
.cg-activity__buy {
  font-weight: 600;
  color: #4ade80;
}

/* line 2266, app/assets/stylesheets/congress.scss */
.cg-activity__sell {
  font-weight: 600;
  color: #f87171;
}

/* line 2267, app/assets/stylesheets/congress.scss */
.cg-activity__window {
  color: rgba(203, 213, 225, 0.55);
}

/* line 2269, app/assets/stylesheets/congress.scss */
.cg-activity__arrow {
  flex-shrink: 0;
  margin-left: auto;
  font-size: 0.7rem;
  color: rgba(224, 188, 138, 0.7);
  transition: transform 0.15s ease;
}

/* line 2276, app/assets/stylesheets/congress.scss */
.cg-activity:hover .cg-activity__arrow {
  transform: translateX(2px);
}
/*
 * Master stylesheet bundle — loads all CSS in one request to prevent FOUC.
 *











































 */
