@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  --jb-bg: #0F172A;
  --jb-bg-2: #111827;
  --jb-card: rgba(30, 41, 59, 0.90);
  --jb-card-2: rgba(23, 32, 46, 0.94);
  --jb-line: rgba(56, 189, 248, 0.26);
  --jb-text: #F8FAFC;
  --jb-muted: #cbd5e1;
  --jb-blue: #38BDF8;
  --jb-green: #22C55E;
  --jb-red: #F59E0B;
  --jb-amber: #F59E0B;
  --jb-shadow: 0 18px 36px rgba(0, 0, 0, 0.36), 0 4px 14px rgba(0, 0, 0, 0.24);
}

body.nexo-theme-app,
body.nexo-theme-app * {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

body.nexo-theme-app {
  color: var(--jb-text) !important;
  background:
    radial-gradient(900px 520px at 8% -12%, rgba(56, 189, 248, 0.14), transparent 62%),
    radial-gradient(900px 500px at 95% -14%, rgba(34, 211, 238, 0.10), transparent 62%),
    linear-gradient(180deg, var(--jb-bg) 0%, var(--jb-bg-2) 100%) !important;
}

body.nexo-theme-app::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    180deg,
    rgba(56, 189, 248, 0.02) 0px,
    rgba(56, 189, 248, 0.02) 1px,
    transparent 1px,
    transparent 8px
  );
  opacity: 0.16;
  z-index: 0;
}

body.nexo-theme-app .shell,
body.nexo-theme-app .main,
body.nexo-theme-app main {
  position: relative;
  z-index: 1;
}

body.nexo-theme-app .sidebar,
body.nexo-theme-app aside {
  background: linear-gradient(180deg, #0f172a, #1e293b) !important;
  border-right: 1px solid rgba(56, 189, 248, 0.24) !important;
  backdrop-filter: blur(10px) saturate(120%);
}

body.nexo-theme-app a,
body.nexo-theme-app a:hover,
body.nexo-theme-app a:focus,
body.nexo-theme-app a:active,
body.nexo-theme-app a:visited {
  text-decoration: none !important;
}

body.nexo-theme-app .nav a,
body.nexo-theme-app aside a {
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  color: #dbeafe !important;
  transition: all 0.18s ease;
}

body.nexo-theme-app .nav a.active,
body.nexo-theme-app .nav a:hover,
body.nexo-theme-app aside a:hover {
  border-color: rgba(56, 189, 248, 0.62) !important;
  background: rgba(56, 189, 248, 0.14) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.24), 0 0 14px rgba(56, 189, 248, 0.18);
}

body.nexo-theme-app .topbar,
body.nexo-theme-app .panel,
body.nexo-theme-app .card,
body.nexo-theme-app section,
body.nexo-theme-app .metric,
body.nexo-theme-app .stat,
body.nexo-theme-app .item,
body.nexo-theme-app .table-wrap,
body.nexo-theme-app .fx-strip,
body.nexo-theme-app .paper-wrap,
body.nexo-theme-app .paper,
body.nexo-theme-app .board,
body.nexo-theme-app .state-grid > div,
body.nexo-theme-app .metrics > div,
body.nexo-theme-app .grid > div {
  background: linear-gradient(160deg, var(--jb-card), var(--jb-card-2)) !important;
  border: 1px solid var(--jb-line) !important;
  box-shadow: var(--jb-shadow) !important;
  border-radius: 14px !important;
}

body.nexo-theme-app .fx-track {
  color: #dff5ff !important;
  text-shadow: 0 0 10px rgba(56, 189, 248, 0.20) !important;
}

body.nexo-theme-app .chip {
  background: rgba(18, 27, 47, 0.94) !important;
  border-color: rgba(0, 194, 255, 0.32) !important;
  color: #F8FAFC !important;
}

body.nexo-theme-app .chip.live {
  color: #043b28 !important;
  border-color: rgba(34, 197, 94, 0.50) !important;
  background: rgba(34, 197, 94, 0.90) !important;
}

body.nexo-theme-app input,
body.nexo-theme-app select,
body.nexo-theme-app textarea,
body.nexo-theme-app button,
body.nexo-theme-app .primary {
  border-radius: 12px !important;
  border: 1px solid rgba(56, 189, 248, 0.34) !important;
  background: rgba(18, 27, 47, 0.92) !important;
  color: #F8FAFC !important;
  transition: all 0.16s ease;
}

body.nexo-theme-app input:focus,
body.nexo-theme-app select:focus,
body.nexo-theme-app textarea:focus {
  outline: none !important;
  border-color: rgba(56, 189, 248, 0.72) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.20) !important;
}

body.nexo-theme-app button,
body.nexo-theme-app .primary,
body.nexo-theme-app #searchBtn {
  background: linear-gradient(180deg, #38BDF8, #0ea5e9) !important;
  border-color: rgba(56, 189, 248, 0.84) !important;
  color: #f0f9ff !important;
  font-weight: 700 !important;
}

body.nexo-theme-app button:hover,
body.nexo-theme-app .primary:hover,
body.nexo-theme-app #searchBtn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(56, 189, 248, 0.30), 0 0 16px rgba(56, 189, 248, 0.24) !important;
}

body.nexo-theme-app #createQuoteFromCartBtn,
body.nexo-theme-app .btn-success,
body.nexo-theme-app [data-action='generate-quote'] {
  background: linear-gradient(180deg, #22D3EE, #00d986) !important;
  border-color: rgba(34, 197, 94, 0.82) !important;
  color: #083344 !important;
}

body.nexo-theme-app table {
  border-collapse: separate;
  border-spacing: 0;
}

body.nexo-theme-app th {
  color: #F8FAFC !important;
  background: rgba(10, 15, 28, 0.92) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.30) !important;
}

body.nexo-theme-app td {
  color: #F8FAFC !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.18) !important;
}

body.nexo-theme-app tbody tr:hover {
  background: rgba(245, 158, 11, 0.10) !important;
}

body.nexo-theme-app .risk-pill {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  border: 1px solid transparent;
}

body.nexo-theme-app .risk-pill.low {
  color: #053321;
  background: rgba(34, 197, 94, 0.82);
  border-color: rgba(34, 197, 94, 0.95);
}

body.nexo-theme-app .risk-pill.med {
  color: #04253a;
  background: rgba(34, 211, 238, 0.78);
  border-color: rgba(34, 211, 238, 0.92);
}

body.nexo-theme-app .risk-pill.high {
  color: #3d2504;
  background: rgba(245, 158, 11, 0.86);
  border-color: rgba(245, 158, 11, 0.92);
}

body.nexo-theme-app .conf-wrap {
  min-width: 110px;
}

body.nexo-theme-app .conf-track {
  width: 100%;
  height: 7px;
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.22);
  overflow: hidden;
  margin-top: 4px;
}

body.nexo-theme-app .conf-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #38BDF8, #22D3EE);
}

body.nexo-theme-app .num,
body.nexo-theme-app code,
body.nexo-theme-app .mono,
body.nexo-theme-app [id*='part'],
body.nexo-theme-app [class*='part'] {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}

body.nexo-theme-app .side-status {
  border: 1px solid rgba(56, 189, 248, 0.36) !important;
  background: rgba(18, 27, 47, 0.92) !important;
  color: #bae6fd !important;
}

body.nexo-theme-app .brand-title {
  color: #38BDF8 !important;
}

body.nexo-theme-app .brand-sub,
body.nexo-theme-app .muted,
body.nexo-theme-app .sub {
  color: var(--jb-muted) !important;
}
