/*
  Margin Data Collector — primary shared style system.
  Dark-first, calm dashboard UI. No separate “2026” overlay file.
*/

:root {
  color-scheme: dark;
  --bg-0: #050915;
  --bg-1: #07111f;
  --bg-2: #0b1628;
  --surface-0: rgba(8, 14, 28, 0.86);
  --surface-1: rgba(13, 23, 42, 0.78);
  --surface-2: rgba(16, 31, 56, 0.70);
  --surface-3: rgba(22, 42, 74, 0.68);
  --border-0: rgba(148, 163, 184, 0.14);
  --border-1: rgba(125, 211, 252, 0.18);
  --border-2: rgba(139, 92, 246, 0.26);
  --text-0: #f8fbff;
  --text-1: #dbe7f8;
  --text-2: #9fb0c8;
  --text-3: #6f819b;
  --accent-cyan: #60d9ff;
  --accent-blue: #5e8cff;
  --accent-violet: #8b5cf6;
  --accent-green: #24e0a5;
  --accent-red: #ff5f87;
  --accent-amber: #f8c14a;
  --shadow-soft: 0 24px 80px rgba(0, 0, 0, 0.32);
  --shadow-card: 0 18px 44px rgba(0, 0, 0, 0.24);
  --radius-xs: 10px;
  --radius-sm: 14px;
  --radius-md: 18px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --ring: 0 0 0 3px rgba(96, 217, 255, 0.16);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
}

* { box-sizing: border-box; }

html {
  min-height: 100%;
  background: var(--bg-0);
}

body {
  min-height: 100vh;
  margin: 0;
  font-family: var(--font-sans);
  color: var(--text-1);
  background:
    radial-gradient(circle at 14% -8%, rgba(39, 204, 255, 0.19), transparent 32rem),
    radial-gradient(circle at 72% 0%, rgba(139, 92, 246, 0.16), transparent 34rem),
    radial-gradient(circle at 96% 34%, rgba(34, 197, 94, 0.08), transparent 26rem),
    linear-gradient(135deg, #06111d 0%, #070c19 46%, #090a17 100%);
  line-height: 1.45;
  letter-spacing: -0.012em;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.28;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 50% 0%, #000 0%, transparent 72%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.025), transparent 18rem 100%);
}

::selection { background: rgba(96, 217, 255, 0.28); color: var(--text-0); }

body, input, select, button, textarea { font: inherit; }

button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }

a { color: var(--accent-cyan); text-decoration: none; }
a:hover { color: #9be8ff; }

img, svg, canvas { max-width: 100%; }

/* Layout shell */
body > .wrap,
body > .app,
body > .page,
body > main,
.main,
.page-shell,
.container {
  width: min(100%, 1520px);
  margin-inline: auto;
}

body > .wrap,
body > .app,
body > .page,
body > main {
  padding: 14px;
}

.header,
.hero,
.page-header,
.topbar,
.radar-header,
.detail-hero,
.health-header,
.home-hero {
  position: relative;
  margin: 0 0 16px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--border-0);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(135deg, rgba(9, 16, 31, 0.92), rgba(4, 10, 20, 0.78)),
    radial-gradient(circle at 88% 0%, rgba(96, 217, 255, 0.14), transparent 28rem);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(22px) saturate(1.25);
  overflow: hidden;
}

.header::before,
.hero::before,
.page-header::before,
.radar-header::before,
.detail-hero::before,
.health-header::before,
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(96, 217, 255, 0.10), transparent 36%, rgba(139, 92, 246, 0.08));
  opacity: 0.8;
}

.header > *,
.hero > *,
.page-header > *,
.radar-header > *,
.detail-hero > *,
.health-header > *,
.home-hero > * { position: relative; }

h1, h2, h3, h4 {
  color: var(--text-0);
  margin: 0;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

h1 {
  font-size: clamp(2rem, 1.15rem + 3vw, 4.25rem);
  font-weight: 820;
}

h2 { font-size: clamp(1.35rem, 1rem + 1.15vw, 2.25rem); font-weight: 780; }
h3 { font-size: 1rem; font-weight: 720; letter-spacing: -0.02em; }

p, .subtitle, .muted, .hint, .description, small {
  color: var(--text-2);
}

/* Panels/cards */
.card,
.panel,
.box,
.section,
.controls,
.toolbar,
.filterbar,
.filters,
.summary,
.stats-card,
.metric-card,
.radar-card,
.health-card,
.detail-card,
.table-card,
.chart-shell,
.chart-wrap,
.workspace,
.radar-workspace,
#scannerWorkspace,
#eventsPanel,
#statsTool,
#detailChart,
.data-health-card {
  border: 1px solid var(--border-0) !important;
  border-radius: var(--radius-lg) !important;
  background:
    linear-gradient(180deg, rgba(15, 27, 49, 0.78), rgba(9, 17, 32, 0.74)) !important;
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(18px) saturate(1.18);
}

.controls,
.toolbar,
.filterbar,
.filters {
  padding: 14px !important;
  gap: 12px !important;
}

.card:hover,
.panel:hover,
.metric-card:hover,
.health-card:hover,
.summary-card:hover,
.stat-card:hover {
  border-color: rgba(96, 217, 255, 0.24) !important;
  transform: translateY(-1px);
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

/* Buttons and form controls */
button,
.button,
.btn,
a.button,
.nav a,
.tabs button,
.tab,
.pill,
.badge-button,
.detail-btn,
.radar-btn,
.control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 38px;
  padding: 0.62rem 0.95rem;
  border: 1px solid rgba(125, 211, 252, 0.18);
  border-radius: 999px;
  color: var(--text-1);
  background:
    linear-gradient(180deg, rgba(19, 33, 59, 0.90), rgba(8, 16, 30, 0.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 8px 22px rgba(0,0,0,0.22);
  cursor: pointer;
  font-weight: 650;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease, color 150ms ease;
}

button:hover,
.button:hover,
.btn:hover,
a.button:hover,
.nav a:hover,
.tabs button:hover,
.tab:hover,
.detail-btn:hover,
.radar-btn:hover,
.control-button:hover {
  color: var(--text-0);
  border-color: rgba(96, 217, 255, 0.42);
  background:
    linear-gradient(180deg, rgba(24, 47, 82, 0.96), rgba(10, 22, 40, 0.90));
  transform: translateY(-1px);
}

button:focus-visible,
.button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: var(--ring), inset 0 1px 0 rgba(255,255,255,0.06);
}

button.active,
.button.active,
.btn.active,
.tab.active,
.tabs .active,
[aria-selected="true"] {
  color: #f8fbff;
  border-color: rgba(139, 92, 246, 0.60) !important;
  background:
    linear-gradient(180deg, rgba(118, 91, 255, 0.44), rgba(40, 58, 122, 0.78)) !important;
}

input,
select,
textarea {
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 14px;
  color: var(--text-1);
  background: rgba(8, 17, 32, 0.78);
  padding: 0.62rem 0.78rem;
  outline: none;
  transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

input:hover,
select:hover,
textarea:hover { border-color: rgba(125, 211, 252, 0.28); }
input::placeholder { color: rgba(159, 176, 200, 0.72); }

label,
.label,
.control-label,
th {
  color: #9fb0c8;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-size: 0.72rem;
  font-weight: 780;
}

/* Tables */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(9, 17, 32, 0.92);
  backdrop-filter: blur(14px);
}

th, td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.10);
}

tbody tr {
  transition: background 120ms ease, transform 120ms ease;
}

tbody tr:hover {
  background: rgba(96, 217, 255, 0.045);
}

/* Status/value language */
.positive,
.up,
.ok,
.status-ok,
.good { color: var(--accent-green) !important; }
.negative,
.down,
.error,
.status-error,
.bad { color: var(--accent-red) !important; }
.warn,
.status-warn,
.warning { color: var(--accent-amber) !important; }

.badge,
.status,
.status-pill,
.chip,
.kpi,
.tag {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 999px;
  padding: 0.28rem 0.62rem;
  background: rgba(13, 23, 42, 0.68);
  color: var(--text-2);
  font-size: 0.78rem;
  font-weight: 700;
}

/* Home */
body.home-page .header,
body.home-page .hero,
body.home-page .page-header,
body.home-page .home-hero {
  min-height: 132px;
  display: grid;
  align-content: center;
}

body.home-page h1,
body.home-page .title {
  max-width: 12ch;
  font-size: clamp(2.15rem, 1rem + 4vw, 5.5rem);
}

body.home-page .nav,
body.home-page .toplinks,
body.home-page .header-links,
body.home-page .page-links {
  display: none !important;
}

/* Hide leftover obsolete home links if legacy HTML leaves them behind */
body.home-page a[href*="events"],
body.home-page a[href*="tools"],
body.home-page a[href*="radar"],
body.home-page a[href*="scanner"],
body.home-page a[href*="imbalance"] {
  display: none !important;
}

/* Scanner */
body.scanner-page .radar-header,
body.scanner-page .page-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
}

body.scanner-page .controls,
body.scanner-page .filterbar,
body.scanner-page .filters {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  align-items: end;
}

body.scanner-page .summary,
body.scanner-page .stats-grid,
body.scanner-page .summary-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

body.scanner-page .summary-card,
body.scanner-page .stat-card {
  min-height: 92px;
  padding: 16px !important;
}

/* Detail */
body.detail-page .detail-hero,
body.detail-page .page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

body.detail-page .chart-shell,
body.detail-page .chart-wrap {
  padding: 14px !important;
  overflow: hidden;
}

body.detail-page canvas,
body.detail-page .tv-lightweight-charts {
  border-radius: var(--radius-md);
}

/* Data Health */
body.health-page .health-header,
body.health-page .page-header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 18px;
}

body.health-page .health-grid,
body.health-page .summary-grid,
body.health-page .cards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

body.health-page .health-card,
body.health-page .data-health-card {
  padding: 16px !important;
}

/* Scrollbars */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(96, 217, 255, 0.34) rgba(8, 17, 32, 0.60);
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(8, 17, 32, 0.55); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(96, 217, 255, 0.45), rgba(139, 92, 246, 0.38));
  border-radius: 999px;
  border: 2px solid rgba(8, 17, 32, 0.55);
}

/* Motion discipline */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }
}

@media (max-width: 760px) {
  body > .wrap,
  body > .app,
  body > .page,
  body > main { padding: 10px; }

  .header,
  .hero,
  .page-header,
  .radar-header,
  .detail-hero,
  .health-header,
  .home-hero {
    border-radius: 22px;
    padding: 20px;
  }

  body.scanner-page .radar-header,
  body.scanner-page .page-header,
  body.health-page .health-header,
  body.health-page .page-header,
  body.detail-page .detail-hero,
  body.detail-page .page-header {
    display: block;
  }

  th, td { padding: 11px 10px; }
}


/* BATCH122_DETAIL_SETTINGS_UI_POLISH_START */
/* Batch 122: primary style polish, not a new overlay file. */
:root {
  --bg-0: #05080f;
  --bg-1: #07101b;
  --surface-glass: rgba(9, 16, 29, 0.78);
  --surface-glass-strong: rgba(10, 18, 34, 0.92);
  --line-soft: rgba(148, 163, 184, 0.12);
  --line-focus: rgba(100, 216, 255, 0.32);
  --glow-cyan: 0 0 0 1px rgba(96, 217, 255, 0.10), 0 24px 80px rgba(0, 0, 0, 0.34);
}

body {
  background:
    radial-gradient(circle at 16% -12%, rgba(56, 189, 248, 0.14), transparent 32rem),
    radial-gradient(circle at 78% 4%, rgba(124, 58, 237, 0.16), transparent 34rem),
    linear-gradient(135deg, #05080f 0%, #07101a 48%, #070812 100%) !important;
}

body > main,
body > .wrap,
body > .app,
body > .page,
.main,
.page-shell,
.container {
  width: min(100%, 1500px) !important;
}

/* Home hero: smaller, cleaner product title. */
.home-page h1,
body.home-page h1,
.home-page .hero h1,
.home-page .topbar h1,
body:not(.detail-body) .home-hero h1 {
  font-size: clamp(2.15rem, 4.2vw, 3.85rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.062em !important;
  max-width: 760px !important;
}

.home-page .header,
.home-page .hero,
.home-page .topbar,
.home-page .home-hero,
body.home-page > header:first-of-type {
  min-height: 0 !important;
  padding: clamp(28px, 5vw, 54px) clamp(28px, 5vw, 42px) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(135deg, rgba(6, 10, 19, 0.94), rgba(8, 15, 28, 0.78)),
    radial-gradient(circle at 92% 0%, rgba(96, 217, 255, 0.13), transparent 28rem) !important;
}

.home-page .header a,
.home-page .hero a,
.home-page .topbar a,
.home-page .home-hero a,
.home-page nav a[href*="events" i],
.home-page nav a[href*="tools" i],
.home-page nav a[href*="scanner" i] {
  display: none !important;
}

/* Lower visual noise in data-heavy surfaces. */
.card,
.panel,
.controls,
.toolbar,
.filterbar,
.filters,
.summary-card,
.stat-card,
.radar-workspace,
.detail-panel,
.table-card,
.health-card,
.data-health-card {
  border-color: rgba(148, 163, 184, 0.13) !important;
  background: linear-gradient(180deg, rgba(14, 24, 43, 0.82), rgba(8, 14, 27, 0.78)) !important;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.24) !important;
}

.controls,
.toolbar,
.filterbar,
.filters,
.detail-controls,
.radar-controls,
.radar-filterbar {
  border-radius: 24px !important;
}

button,
.button,
.btn,
.panel-picker-btn,
.range-tool-btn,
.icon-btn,
.radar-btn,
.open-btn {
  border-radius: 14px !important;
  border-color: rgba(125, 211, 252, 0.18) !important;
  background: linear-gradient(180deg, rgba(17, 34, 58, 0.86), rgba(8, 16, 30, 0.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.055), 0 10px 26px rgba(0,0,0,0.20) !important;
}

button:hover,
.button:hover,
.btn:hover,
.icon-btn:hover,
.range-tool-btn:hover,
.open-btn:hover {
  border-color: rgba(96, 217, 255, 0.40) !important;
  transform: translateY(-1px);
}

input,
select,
textarea {
  border-radius: 14px !important;
  background: rgba(7, 14, 27, 0.74) !important;
  border-color: rgba(148, 163, 184, 0.15) !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(96, 217, 255, 0.18) !important;
  border-color: rgba(96, 217, 255, 0.42) !important;
}

/* Tables: remove old pill-like header artifacts and make dense rows calmer. */
table,
.table,
.asset-table,
.overview-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

thead th,
.table thead th,
.asset-table thead th,
.overview-table thead th,
.table-header,
.th {
  background: rgba(13, 24, 43, 0.72) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(226, 236, 250, 0.82) !important;
  letter-spacing: 0.055em !important;
}

tbody tr,
.table-row,
.asset-row {
  transition: background 140ms ease, transform 140ms ease, border-color 140ms ease;
}

tbody tr:hover,
.table-row:hover,
.asset-row:hover {
  background: rgba(96, 217, 255, 0.045) !important;
}

/* Detail: one source of truth for panel visibility = settings gear. */
.panel-picker,
#panelsBtn,
#panelsMenu,
.panel-picker-menu {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.detail-controls {
  position: relative !important;
  z-index: 5000 !important;
  overflow: visible !important;
}

.detail-shell,
.detail-panel,
.detail-chart-container,
#chartContainer {
  position: relative !important;
  z-index: 1 !important;
}

.detail-settings-wrap {
  position: relative !important;
  z-index: 7000 !important;
}

.detail-settings-menu,
.range-stats-box,
.dropdown-menu,
.popover,
.modal,
[role="dialog"] {
  z-index: 2147483000 !important;
}

.detail-settings-menu {
  position: fixed !important;
  top: clamp(86px, 11vh, 148px) !important;
  right: max(18px, calc((100vw - min(1500px, 100vw)) / 2 + 18px)) !important;
  width: min(430px, calc(100vw - 32px)) !important;
  max-height: min(78vh, 760px) !important;
  overflow: auto !important;
  padding: 16px !important;
  border: 1px solid rgba(125, 211, 252, 0.24) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(10, 18, 34, 0.96), rgba(5, 10, 20, 0.94)),
    radial-gradient(circle at 100% 0%, rgba(96, 217, 255, 0.16), transparent 22rem) !important;
  box-shadow: 0 32px 120px rgba(0, 0, 0, 0.58), 0 0 0 1px rgba(255,255,255,0.035) inset !important;
  backdrop-filter: blur(28px) saturate(1.35) !important;
}

.detail-settings-menu.hidden {
  display: none !important;
}

.detail-settings-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

.detail-settings-head strong {
  font-size: 1rem !important;
  letter-spacing: -0.025em !important;
}

.detail-settings-section {
  padding: 14px !important;
  border: 1px solid rgba(148, 163, 184, 0.12) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.025) !important;
  margin-top: 12px !important;
}

.detail-settings-title {
  margin-bottom: 10px !important;
  color: rgba(226, 236, 250, 0.72) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.11em !important;
}

.detail-settings-panel-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

.detail-settings-row,
.panel-toggle-row,
.detail-settings-number-row {
  border: 1px solid rgba(148, 163, 184, 0.12) !important;
  border-radius: 14px !important;
  background: rgba(8, 15, 29, 0.56) !important;
  padding: 10px 11px !important;
}

.detail-settings-row:hover,
.panel-toggle-row:hover,
.detail-settings-number-row:hover {
  border-color: rgba(96, 217, 255, 0.25) !important;
  background: rgba(96, 217, 255, 0.04) !important;
}

.detail-settings-close {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 12px !important;
}

.range-stats-box {
  position: absolute !important;
  border: 1px solid rgba(125, 211, 252, 0.24) !important;
  background: rgba(5, 10, 20, 0.94) !important;
  backdrop-filter: blur(24px) saturate(1.25) !important;
}

.detail-topbar h1,
.detail-heading h1 {
  font-size: clamp(1.65rem, 2.3vw, 2.45rem) !important;
  letter-spacing: -0.05em !important;
}

.radar-header h1,
.scanner-page h1 {
  font-size: clamp(1.8rem, 2.4vw, 2.7rem) !important;
}

@media (max-width: 760px) {
  .home-page h1,
  body.home-page h1 {
    font-size: clamp(2rem, 12vw, 3.15rem) !important;
  }
  .detail-settings-menu {
    inset: 86px 12px auto 12px !important;
    width: auto !important;
    max-height: calc(100vh - 110px) !important;
  }
  .detail-settings-panel-grid {
    grid-template-columns: 1fr !important;
  }
}
/* BATCH122_DETAIL_SETTINGS_UI_POLISH_END */


/* BATCH123_HOME_DETAIL_UI_FIX_START */
/* Batch 123: refine standard styles; no extra overlay stylesheet. */
:root {
  --ui-bg: #05070d;
  --ui-surface: rgba(10, 17, 31, 0.82);
  --ui-surface-2: rgba(12, 22, 40, 0.74);
  --ui-surface-3: rgba(15, 28, 49, 0.62);
  --ui-border: rgba(145, 165, 195, 0.14);
  --ui-border-strong: rgba(125, 211, 252, 0.28);
  --ui-text: #eef5ff;
  --ui-muted: #8fa2be;
  --ui-accent: #67d8ff;
  --ui-violet: #8b5cf6;
  --ui-green: #20e8b0;
  --ui-red: #ff4f86;
  --ui-radius-xl: 26px;
  --ui-radius-lg: 18px;
  --ui-shadow-card: 0 24px 80px rgba(0, 0, 0, 0.30);
  --ui-shadow-popover: 0 34px 120px rgba(0, 0, 0, 0.68), 0 0 0 1px rgba(255,255,255,0.035) inset;
}

html {
  background: var(--ui-bg) !important;
}

body {
  color: var(--ui-text) !important;
  background:
    radial-gradient(circle at 10% -8%, rgba(0, 194, 255, 0.10), transparent 28rem),
    radial-gradient(circle at 74% -6%, rgba(139, 92, 246, 0.14), transparent 34rem),
    linear-gradient(135deg, #05070d 0%, #07121f 48%, #060711 100%) !important;
  font-feature-settings: "ss01" 1, "cv01" 1;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 0%, black 0%, transparent 78%);
}

/* Home: smaller hero and less dead space. */
.home-page h1,
body.home-page h1,
.home-page .hero h1,
.home-page .header h1,
.home-page .topbar h1,
.home-page .home-hero h1 {
  font-size: clamp(1.85rem, 3.1vw, 2.85rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  max-width: 540px !important;
  margin: 0 !important;
}

.home-page .header,
.home-page .hero,
.home-page .topbar,
.home-page .home-hero,
body.home-page > header:first-of-type {
  min-height: 0 !important;
  padding: clamp(24px, 3.2vw, 38px) clamp(24px, 3.2vw, 36px) !important;
  border-radius: var(--ui-radius-xl) !important;
}

.home-page .header a,
.home-page .hero a,
.home-page .topbar a,
.home-page .home-hero a,
.home-page nav a[href*="events" i],
.home-page nav a[href*="tools" i],
.home-page nav a[href*="scanner" i],
.home-page nav a[href*="imbalance" i] {
  display: none !important;
}

/* Shared surface language: calmer, current SaaS dashboard style. */
.card,
.panel,
.controls,
.toolbar,
.filterbar,
.filters,
.summary-card,
.stat-card,
.radar-workspace,
.detail-panel,
.table-card,
.health-card,
.data-health-card,
.detail-controls,
.radar-controls,
.radar-filterbar,
.overview-card,
.table-wrap {
  border: 1px solid var(--ui-border) !important;
  background:
    linear-gradient(180deg, rgba(13, 23, 42, 0.80), rgba(7, 13, 25, 0.76)) !important;
  box-shadow: var(--ui-shadow-card) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
}

button,
.button,
.btn,
.icon-btn,
.range-tool-btn,
.radar-btn,
.open-btn,
.watchlist-btn,
.refresh-btn,
.detail-settings-btn {
  min-height: 40px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(125, 211, 252, 0.20) !important;
  background:
    linear-gradient(180deg, rgba(18, 34, 58, 0.88), rgba(9, 17, 31, 0.90)) !important;
  color: rgba(239, 246, 255, 0.92) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.055), 0 12px 28px rgba(0,0,0,0.20) !important;
}

button:hover,
.button:hover,
.btn:hover,
.icon-btn:hover,
.range-tool-btn:hover,
.radar-btn:hover,
.open-btn:hover,
.watchlist-btn:hover,
.refresh-btn:hover,
.detail-settings-btn:hover {
  border-color: rgba(103, 216, 255, 0.46) !important;
  transform: translateY(-1px);
}

input,
select,
textarea {
  min-height: 40px !important;
  border-radius: 14px !important;
  background: rgba(6, 12, 24, 0.72) !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
  color: rgba(238, 245, 255, 0.94) !important;
}

/* Popovers must sit above tables and charts. */
.controls,
.toolbar,
.filterbar,
.filters,
.home-page .controls,
.home-page .toolbar,
.detail-controls,
.radar-controls {
  position: relative !important;
  z-index: 9000 !important;
  overflow: visible !important;
}

.table-card,
.table-wrap,
.asset-table,
.overview-table,
.detail-panel,
.detail-chart-container,
#chartContainer,
.radar-workspace {
  position: relative !important;
  z-index: 1 !important;
}

.watchlist-menu,
.watchlist-popover,
.settings-menu,
.dropdown-menu,
.popover,
.modal,
[role="dialog"],
.detail-settings-menu,
.range-stats-box {
  z-index: 2147483200 !important;
}

/* Equal, consistent table sort/header controls. */
thead th,
.table thead th,
.asset-table thead th,
.overview-table thead th,
.table-header,
.th {
  padding: 0 !important;
  background: rgba(12, 22, 39, 0.84) !important;
  box-shadow: none !important;
}

thead th > button,
thead th .sort-btn,
thead th .sort-control,
thead th [data-sort],
.table-header button,
.th button,
.sortable,
.sort-pill,
[data-sort-key] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
  letter-spacing: 0.055em !important;
  background: rgba(15, 31, 53, 0.82) !important;
}

.home-page thead th,
.home-page .table-header,
.home-page .th {
  vertical-align: middle !important;
}

.home-page table,
.home-page .asset-table,
.home-page .overview-table {
  table-layout: fixed !important;
}

.home-page tbody td,
.home-page .asset-row > * {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* Detail settings: anchor near the gear, compact, readable, scrollable. */
.detail-settings-wrap {
  position: relative !important;
  z-index: 2147483000 !important;
}

.detail-settings-menu {
  position: fixed !important;
  top: var(--detail-settings-top, 96px) !important;
  left: var(--detail-settings-left, auto) !important;
  right: auto !important;
  width: var(--detail-settings-width, min(380px, calc(100vw - 24px))) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(76vh, 680px) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  padding: 14px !important;
  border: 1px solid rgba(125, 211, 252, 0.30) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(9, 17, 31, 0.98), rgba(4, 8, 17, 0.96)),
    radial-gradient(circle at 100% 0%, rgba(103, 216, 255, 0.14), transparent 18rem) !important;
  box-shadow: var(--ui-shadow-popover) !important;
  backdrop-filter: blur(30px) saturate(1.32) !important;
}

.detail-settings-menu.hidden {
  display: none !important;
}

.detail-settings-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.detail-settings-section {
  padding: 12px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(148, 163, 184, 0.13) !important;
  background: rgba(255, 255, 255, 0.024) !important;
  margin-top: 10px !important;
}

.detail-settings-panel-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.detail-settings-row,
.panel-toggle-row,
.detail-settings-number-row {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 14px !important;
  padding: 10px 11px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  border: 1px solid rgba(148, 163, 184, 0.13) !important;
  background: rgba(8, 15, 29, 0.56) !important;
}

.detail-settings-row span,
.panel-toggle-row span,
.detail-settings-row strong,
.panel-toggle-row strong {
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.detail-settings-note {
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  color: rgba(180, 194, 216, 0.78) !important;
}

.detail-topbar h1,
.detail-heading h1,
.detail-page h1 {
  font-size: clamp(1.45rem, 2vw, 2.15rem) !important;
  letter-spacing: -0.045em !important;
}

.radar-header h1,
.scanner-page h1 {
  font-size: clamp(1.55rem, 2.1vw, 2.35rem) !important;
}

@media (max-width: 900px) {
  .home-page h1,
  body.home-page h1 {
    font-size: clamp(1.85rem, 9.5vw, 2.75rem) !important;
  }
  .detail-settings-menu {
    top: 76px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 96px) !important;
  }
}
/* BATCH123_HOME_DETAIL_UI_FIX_END */


/* BATCH124_UI_DETAIL_HEALTH_FIX_START */
/* Batch 124: standard style refinement, using existing ui_modern.css only. */
:root {
  --ui-home-title-max: 2.05rem;
  --ui-popover-z: 2147483600;
}

/* Home title: compact dashboard header, not landing-page hero. */
.home-page h1,
body.home-page h1,
.home-page .hero h1,
.home-page .header h1,
.home-page .topbar h1,
.home-page .home-hero h1,
body.home-page > header:first-of-type h1 {
  font-size: clamp(1.35rem, 2.1vw, var(--ui-home-title-max)) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  max-width: 460px !important;
  margin: 0 !important;
}

.home-page .header,
.home-page .hero,
.home-page .topbar,
.home-page .home-hero,
body.home-page > header:first-of-type {
  min-height: 0 !important;
  padding: clamp(18px, 2.4vw, 30px) clamp(22px, 3vw, 34px) !important;
}

/* Home dropdown/watchlist popovers must float above the table. */
.home-page,
.home-page main,
.home-page .app,
.home-page .page,
.home-page .container,
.home-page .controls,
.home-page .toolbar,
.home-page .filterbar,
.home-page .topbar,
.home-page .header,
.home-page .hero {
  overflow: visible !important;
}

.home-page .controls,
.home-page .toolbar,
.home-page .filterbar,
.home-page .topbar,
.home-page .header,
.home-page .hero {
  position: relative !important;
  z-index: 10000 !important;
  isolation: isolate !important;
}

.home-page .watchlist-menu,
.home-page .watchlist-popover,
.home-page .dropdown-menu,
.home-page .settings-menu,
.home-page .popover,
.home-page [role="dialog"] {
  z-index: var(--ui-popover-z) !important;
}

.home-page .table-card,
.home-page .table-wrap,
.home-page .asset-table,
.home-page .overview-table,
.home-page table {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

/* Table sort/header buttons: equal spacing, no broken pill offsets. */
thead th,
.table thead th,
.asset-table thead th,
.overview-table thead th,
.table-header,
.th {
  padding: 10px 8px !important;
  vertical-align: middle !important;
  background: rgba(11, 20, 36, 0.88) !important;
}

thead th > button,
thead th .sort-btn,
thead th .sort-control,
thead th [data-sort],
.table-header button,
.th button,
.sortable,
.sort-pill,
[data-sort-key] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

thead th svg,
thead th .sort-icon,
.table-header svg,
.th svg {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Auto checkbox is an interactive control. */
label:has(input[type="checkbox"]),
input[type="checkbox"],
.auto-toggle,
.auto-refresh,
.auto-refresh label,
label[for*="auto" i],
[data-auto-refresh],
[data-action*="auto" i] {
  cursor: pointer !important;
}

/* Detail settings: attach to gear button, compact panel, high z-index. */
.detail-controls,
.detail-toolbar,
.detail-page .controls,
.detail-page .toolbar {
  position: relative !important;
  z-index: 10000 !important;
  overflow: visible !important;
}

.detail-settings-wrap,
.detail-settings-btn,
[data-detail-settings-button] {
  position: relative !important;
  z-index: var(--ui-popover-z) !important;
}

.detail-settings-menu {
  position: fixed !important;
  top: var(--detail-settings-top, 88px) !important;
  left: var(--detail-settings-left, 16px) !important;
  right: auto !important;
  width: var(--detail-settings-width, min(360px, calc(100vw - 24px))) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(74vh, 620px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: var(--ui-popover-z) !important;
  padding: 14px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(103, 216, 255, 0.30) !important;
  background:
    linear-gradient(180deg, rgba(8, 15, 28, 0.985), rgba(4, 8, 17, 0.97)),
    radial-gradient(circle at 95% 0%, rgba(103, 216, 255, 0.16), transparent 18rem) !important;
  box-shadow: 0 34px 140px rgba(0,0,0,0.70), 0 0 0 1px rgba(255,255,255,0.04) inset !important;
  backdrop-filter: blur(30px) saturate(1.3) !important;
}

.detail-settings-menu.hidden {
  display: none !important;
}

.detail-settings-section {
  padding: 12px !important;
  margin-top: 10px !important;
}

.detail-settings-title {
  margin-bottom: 9px !important;
}

.detail-settings-row,
.panel-toggle-row,
.detail-settings-number-row {
  min-height: 42px !important;
  padding: 9px 10px !important;
  gap: 10px !important;
  border-radius: 14px !important;
  white-space: normal !important;
}

.detail-settings-number-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(84px, 116px) !important;
  align-items: center !important;
}

.detail-settings-number-row input,
.detail-settings-number-row select {
  width: 100% !important;
  min-width: 0 !important;
}

.detail-settings-anomaly-section .detail-settings-title,
.detail-settings-anomaly-section .detail-settings-note,
.detail-settings-note:has(+ .batch124-none) {
  display: none !important;
}

.market-anomaly-options {
  display: grid !important;
  gap: 8px !important;
  overflow: hidden !important;
  transition: max-height 220ms ease, opacity 180ms ease, transform 220ms ease, margin-top 220ms ease !important;
}

.market-anomaly-options.is-open {
  max-height: 420px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  margin-top: 8px !important;
}

.market-anomaly-options.is-closed,
.market-anomaly-options[hidden] {
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translateY(-4px) !important;
  margin-top: 0 !important;
  pointer-events: none !important;
}

/* Data Health spacing: no cramped section titles/tables. */
.health-page section,
.health-page .section,
.health-page .panel,
.health-page .card,
.health-page .data-doctor,
.health-page .repair-manager,
.health-page .data-health-section,
.health-page .health-section {
  margin-bottom: 18px !important;
}

.health-page h1,
.health-page h2,
.health-page h3,
.health-page .section-title,
.health-page .panel-title {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.18 !important;
}

.health-page p,
.health-page .muted,
.health-page .section-subtitle {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  line-height: 1.55 !important;
}

.health-page table,
.health-page .table,
.health-page .health-table {
  margin-top: 12px !important;
  border-spacing: 0 6px !important;
}

.health-page th,
.health-page td,
.health-page .table-cell {
  padding: 10px 14px !important;
}

@media (max-width: 760px) {
  .home-page h1,
  body.home-page h1 {
    font-size: clamp(1.35rem, 7.2vw, 2.05rem) !important;
  }
  .detail-settings-menu {
    left: 12px !important;
    top: 78px !important;
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 96px) !important;
  }
}
/* BATCH124_UI_DETAIL_HEALTH_FIX_END */

/* BATCH124_3_RUNTIME_POLISH_START */
.home-page .hero h1,
.home-page .app-title,
.home-page h1 {
  font-size: clamp(1.55rem, 3.2vw, 2.55rem) !important;
  line-height: .98 !important;
  letter-spacing: -0.045em !important;
  max-width: 760px;
}
.sort-btn,
.table-sort,
th button,
.table-head button,
[data-sort],
.sortable {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .55rem !important;
  min-height: 30px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}
.auto-refresh,
.auto-toggle,
.auto-label,
label:has(input[type="checkbox"]),
input[type="checkbox"] { cursor: pointer !important; }
.detail-settings-menu,
.detail-popover,
.stats-popover,
.popover,
.dropdown-menu,
.watchlist-popover,
.settings-popover {
  z-index: 2147483000 !important;
}
.detail-settings-menu {
  width: min(380px, calc(100vw - 28px)) !important;
  max-height: min(72vh, 640px) !important;
  overflow: auto !important;
  transform-origin: top right;
}
.health-page,
.health-page main,
.health-page .container { padding: 16px !important; }
.health-page section,
.health-page .panel,
.health-page .card { margin-bottom: 18px !important; }
/* BATCH124_3_RUNTIME_POLISH_END */

/* BATCH125_DETAIL_SOURCE_CLEANUP_UI_START */
.home-page .hero h1,
.home-page .app-title,
.home-page h1 {
  font-size: clamp(1.08rem, 1.65vw, 1.48rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  max-width: 560px !important;
}
.detail-settings-menu,
.detail-popover,
.stats-popover,
.popover,
.dropdown-menu,
.watchlist-popover,
.settings-popover,
[role="dialog"],
[data-popover] {
  z-index: 2147483600 !important;
}
.detail-settings-menu {
  width: min(360px, calc(100vw - 24px)) !important;
  max-height: min(76vh, 580px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}
.detail-settings-menu .field,
.detail-settings-menu label,
.detail-settings-menu .toggle-row {
  min-width: 0 !important;
}
.sort-btn,
.table-sort,
th button,
.table-head button,
[data-sort],
.sortable {
  min-width: 34px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
}
.auto-refresh,
.auto-toggle,
.auto-label,
label:has(input[type="checkbox"]),
input[type="checkbox"] { cursor: pointer !important; }
.health-page main,
.health-page .page,
.health-page .container,
.health-page .health-container {
  padding: clamp(18px, 2.2vw, 32px) !important;
}
/* BATCH125_DETAIL_SOURCE_CLEANUP_UI_END */


/* BATCH130_SAFE_UI_POLISH_START */
:root {
  --ui-home-title-max: 1.22rem;
  --ui-popover-z: 2147483640;
}

.home-page .hero h1,
.home-page .header h1,
.home-page .topbar h1,
.home-page .app-title,
.home-page h1,
body.home-page > header:first-of-type h1 {
  font-size: clamp(1rem, 1.35vw, var(--ui-home-title-max)) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  max-width: 420px !important;
}

.home-page .topbar,
.home-page .header,
.home-page .hero,
.home-page .home-hero,
body.home-page > header:first-of-type {
  padding: 14px 18px !important;
  min-height: 0 !important;
}

.home-page .sort-header,
.overview-table thead .sort-header,
thead th > .sort-header {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  display: inline-grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 8px !important;
  justify-content: stretch !important;
  text-align: left !important;
  border-radius: 11px !important;
}

.home-page .sort-header.sort-header-right,
.overview-table thead .sort-header.sort-header-right {
  justify-content: stretch !important;
  text-align: left !important;
}

.home-page .sort-header-icon,
.overview-table .sort-header-icon {
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  opacity: .78 !important;
}

.home-page .sort-header-label,
.overview-table .sort-header-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#autoRefreshCheckbox,
label[for="autoRefreshCheckbox"],
.auto-toggle,
.auto-toggle *,
.radar-toggle,
.radar-toggle *,
#autoRefresh,
#autoRefresh * {
  cursor: pointer !important;
}

.detail-settings-wrap,
.detail-settings-btn,
.detail-settings-menu {
  z-index: var(--ui-popover-z) !important;
}

.detail-settings-menu {
  position: fixed !important;
  left: var(--detail-settings-left, 12px) !important;
  top: var(--detail-settings-top, 76px) !important;
  right: auto !important;
  width: var(--detail-settings-width, min(380px, calc(100vw - 24px))) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(var(--detail-settings-max-height, 620px), calc(100vh - 24px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}

.detail-settings-anomaly-section {
  display: grid !important;
  gap: 8px !important;
}

.detail-settings-anomaly-toggle {
  margin-bottom: 0 !important;
}

.market-anomaly-options {
  display: grid !important;
  gap: 8px !important;
  overflow: hidden !important;
  transition: max-height 220ms ease, opacity 180ms ease, transform 220ms ease, margin-top 220ms ease !important;
  will-change: max-height, opacity, transform !important;
}

.market-anomaly-options.is-open {
  max-height: 420px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  margin-top: 4px !important;
  pointer-events: auto !important;
}

.market-anomaly-options.is-closed {
  max-height: 0 !important;
  opacity: 0 !important;
  transform: translateY(-4px) !important;
  margin-top: 0 !important;
  pointer-events: none !important;
}

.health-page,
.health-page main,
.health-page .health-shell,
.health-page .container {
  padding: clamp(18px, 2.4vw, 34px) !important;
}

.health-page .health-section,
.health-page section,
.health-page .health-card,
.health-page .panel,
.health-page .card {
  margin-bottom: 22px !important;
}

.health-page .health-summary-grid,
.health-page .server-grid,
.health-page .health-coverage-grid {
  gap: 16px !important;
}

.health-page .health-table-wrap {
  margin-top: 14px !important;
  padding: 4px !important;
}
/* BATCH130_SAFE_UI_POLISH_END */


/* MANUAL_HOME_DELTA_HEADER_FIX_20260519 */
.home-page th,
.home-page .table-head,
.home-page .table-header,
.home-page [role="columnheader"] {
  min-width: 0;
}

.home-page th:nth-child(3),
.home-page th:nth-child(5),
.home-page th:nth-child(7),
.home-page .chg-col,
.home-page .change-col,
.home-page [data-column="borrow_chg"],
.home-page [data-column="repay_chg"],
.home-page [data-column="pool_chg"] {
  width: clamp(4.25rem, 5vw, 5.25rem);
  min-width: 4.25rem;
  max-width: 5.5rem;
}

.home-page th:nth-child(3) button,
.home-page th:nth-child(5) button,
.home-page th:nth-child(7) button,
.home-page .chg-col button,
.home-page .change-col button,
.home-page [data-column="borrow_chg"] button,
.home-page [data-column="repay_chg"] button,
.home-page [data-column="pool_chg"] button,
.home-page .sort-header:has(+ .change-col),
.home-page .sort-header[data-sort*="chg"],
.home-page .sort-header[data-sort*="change"] {
  justify-content: center;
  gap: 0.42rem;
  padding-inline: 0.72rem;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

.home-page .sort-header,
.home-page th button {
  cursor: pointer;
}

.home-page label:has(input[type="checkbox"]),
.home-page input[type="checkbox"],
.home-page .auto-refresh,
.home-page [data-auto-refresh],
.home-page #autoRefresh,
.home-page #autoRefreshCheckbox {
  cursor: pointer;
}

/* MANUAL_UI_CSS_POLISH_20260519 */

/* Global shell refinement */
:root {
  --ui-page-pad: clamp(14px, 1.5vw, 24px);
  --ui-panel-radius: 22px;
  --ui-card-radius: 18px;
  --ui-border-soft: rgba(129, 161, 193, 0.18);
  --ui-border-strong: rgba(125, 211, 252, 0.28);
  --ui-surface-0: rgba(5, 10, 20, 0.78);
  --ui-surface-1: rgba(11, 20, 38, 0.78);
  --ui-surface-2: rgba(161, 193, 0.18);
  --ui-border-strong: rgba(125, 211, 252, 0.28);
  --ui-surface-0: rgba(5, 10, 2015, 28, 52, 0.72);
  --ui-text-soft: rgba(226, 232, 240, 0.72);
  --ui-text-muted: rgba(148, 163, 184, 0.86);
}

body {
  letter-spacing: -0.01em;
}

body::before {
  opacity: 0.82;
}

/* Page spacing */
.home-page,
.scanner-page,
.detail-page,
.health-page {
  padding-inline: var(--ui-page-pad);
}

/* Common panels */
.home-page .toolbar,
.home-page .controls,
.scanner-page .toolbar,
.scanner-page .controls,
.detail-page .toolbar,
.detail-page .controls,
.health-page .toolbar,
.health-page .controls,
.card,
.panel,
section,
.workspace,
#scannerWorkspace,
#marketImbalanceEvents,
#dataDoctor,
#repairManager {
  border-color: var(--ui-border-soft);
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

/* Home title: keep compact */
.home-page h1,
.home-page .hero h1,
.home-page header h1 {
  font-size: clamp(1.7rem, 4.2vw, 3.05rem) !important;
  line-height: 0.96 !important;
  max-width: 10.5ch;
  letter-spacing: -0.075em;
}

/* Home table layout */
.home-page table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.home-page thead th {
  vertical-align: middle;
}

.home-page tbody tr {
  transition:
    background-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.home-page tbody tr:hover {
  background: rgba(56, 189, 248, 0.045);
  box-shadow: inset 3px 0 0 rgba(56, 189, 248, 0.45);
}

.home-page td,
.home-page th {
  font-variant-numeric: tabular-nums;
}

.home-page td:not(:first-child),
.home-page .num,
.home-page .numeric {
  text-align: right;
}

.home-page td:first-child,
.home-page th:first-child {
  text-align: left;
}

.home-page .sort-header,
.home-page th button,
.home-page [role="columnheader"] button {
  min-height: 34px;
  border-radius: 12px;
  align-items: center;
  transition:
    border-color 150ms ease,
    background-color 150ms ease,
    box-shadow 150ms ease,
    transform 150ms ease;
}

.home-page .sort-header:hover,
.home-page th button:hover,
.home-page [role="columnheader"] button:hover {
  border-color: rgba(125, 211, 252, 0.42);
  background: rgba(14, 165, 233, 0.12);
}

.home-page .sort-header:active,
.home-page th button:active {
  transform: translateY(1px);
}

/* Compact change columns */
.home-page th:nth-child(3),
.home-page th:nth-child(5),
.home-page th:nth-child(7),
.home-page td:nth-child(3),
.home-page td:nth-child(5),
.home-page td:nth-child(7) {
  width: clamp(4.3rem, 5.2vw, 5.6rem);
  min-width: 4.3rem;
  max-width: 5.8rem;
  text-align: right;
}

.home-page th:nth-child(3) button,
.home-page th:nth-child(5) button,
.home-page th:nth-child(7) button {
  justify-content: center;
  padding-inline: 0.6rem;
}

/* Buttons */
button,
.button,
.btn,
a.button {
  transition:
    transform 150ms ease,
    border-color 150ms ease,
    background-color 150ms ease,
    box-shadow 150ms ease;
}

button:hover,
.button:hover,
.btn:hover,
a.button:hover {
  border-color: rgba(125, 211, 252, 0.42);
}

button:active,
.button:active,
.btn:active,
a.button:active {
  transform: translateY(1px);
}

/* Inputs */
input,
select,
textarea {
  transition:
    border-color 150ms ease,
    background-color 150ms ease,
    box-shadow 150ms ease;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(125, 211, 252, 0.55);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

/* Scanner cleanup */
.scanner-page .summary-card,
.scanner-page .metric-card,
.scanner-page .workspace-card,
.scanner-page .scanner-card {
  border-radius: 18px;
}

.scanner-page .summary-grid,
.scanner-page .stats-grid,
.scanner-page .workspace-grid {
  gap: clamp(10px, 1.2vw, 16px);
}

.scanner-page label,
.scanner-page .label,
.scanner-page .control-label {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ui-text-muted);
  font-size: 0.72rem;
}

/* Detail: visual-only */
.detail-page .chart-wrap,
.detail-page #chart,
.detail-page .chart-panel {
  border-radius: 20px;
}

.detail-page .pane-label,
.detail-page .pane-badge {
  border-radius: 999px;
  background: rgba(8, 16, 31, 0.82);
  border: 1px solid rgba(125, 211, 252, 0.22);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
}

.detail-page .settings-menu,
.detail-page .popover,
.detail-page .dropdown,
.detail-page [role="dialog"] {
  z-index: 2147483000 !important;
}

/* Data Health spacing */
.health-page main,
.health-page .page,
.health-page .content,
.health-page #app {
  gap: 18px;
}

.health-page section,
.health-page .section,
.health-page .card,
.health-page .panel,
.health-page #dataDoctor,
.health-page #repairManager {
  padding: clamp(16px, 1.6vw, 24px);
  border-radius: 20px;
}

.health-page h1,
.health-page h2,
.health-page h3 {
  letter-spacing: -0.035em;
}

.health-page table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.health-page th,
.health-page td {
  padding: 0.72rem 0.85rem;
}

.health-page thead th {
  color: var(--ui-text-muted);
  font-size: 0.73rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.health-page tbody tr:hover {
  background: rgba(56, 189, 248, 0.045);
}

/* Pointer affordance */
label:has(input[type="checkbox"]),
input[type="checkbox"],
.auto-refresh,
[data-auto-refresh],
#autoRefresh,
#autoRefreshCheckbox {
  cursor: pointer;
}

/* Mobile density */
@media (max-width: 760px) {
  .home-page,
  .scanner-page,
  .detail-page,
  .health-page {
    padding-inline: 10px;
  }

  .home-page h1,
  .home-page .hero h1,
  .home-page header h1 {
    font-size: clamp(1.55rem, 12vw, 2.35rem) !important;
  }

  .home-page th,
  .home-page td {
    padding-inline: 0.55rem;
  }

  .scanner-page .summary-grid,
  .scanner-page .stats-grid {
    grid-template-columns: 1fr 1fr;
  }
}


/* MANUAL_UI_POLISH_HEALTH_SCANNER_20260519 */

/* =========================
   Shared data-dashboard polish
   ========================= */

:root {
  --ui-ring-soft: 0 0 0 3px rgba(56, 189, 248, 0.13);
  --ui-shadow-panel: 0 22px 70px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  --ui-shadow-soft: 0 12px 36px rgba(0, 0, 0, 0.20);
  --ui-row-hover: rgba(56, 189, 248, 0.045);
  --ui-row-active: rgba(56, 189, 248, 0.075);
  --ui-info-bg: rgba(59, 130, 246, 0.11);
  --ui-info-border: rgba(96, 165, 250, 0.24);
  --ui-info-text: rgba(191, 219, 254, 0.95);
  --ui-ok-bg: rgba(34, 197, 94, 0.10);
  --ui-ok-border: rgba(74, 222, 128, 0.22);
  --ui-ok-text: rgba(187, 247, 208, 0.95);
  --ui-warn-bg: rgba(245, 158, 11, 0.12);
  --ui-warn-border: rgba(251, 191, 36, 0.26);
  --ui-warn-text: rgba(253, 230, 138, 0.96);
  --ui-error-bg: rgba(239, 68, 68, 0.13);
  --ui-error-border: rgba(248, 113, 113, 0.28);
  --ui-error-text: rgba(254, 202, 202, 0.98);
}

.home-page,
.scanner-page,
.health-page {
  max-width: 100%;
}

.home-page main,
.scanner-page main,
.health-page main {
  isolation: isolate;
}

/* =========================
   Home table
   ========================= */

.home-page .table-wrap,
.home-page .table-container,
.home-page [data-table-wrap],
.home-page .dashboard-table {
  border-radius: 20px;
  overflow: clip;
  border: 1px solid rgba(125, 211, 252, 0.14);
  box-shadow: var(--ui-shadow-panel);
}

.home-page table {
  font-size: 0.875rem;
}

.home-page thead th {
  position: sticky;
  top: 0;
  z-index: 8;
  background: rgba(8, 15, 29, 0.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(125, 211, 252, 0.16);
}

.home-page tbody td {
  border-bottom: 1px solid rgba(148, 163, 184, 0.075);
}

.home-page tbody tr:last-child td {
  border-bottom: 0;
}

.home-page tbody tr:hover td {
  background: var(--ui-row-hover);
}

.home-page td,
.home-page th {
  padding-block: 0.66rem;
}

.home-page td:not(:first-child),
.home-page th:not(:first-child) {
  font-variant-numeric: tabular-nums;
}

.home-page td:nth-child(n+2) {
  text-align: right;
}

.home-page td:first-child {
  font-weight: 680;
  letter-spacing: -0.015em;
}

.home-page .sort-header,
.home-page th button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 34px;
  padding: 0.42rem 0.68rem;
  border-radius: 12px;
  line-height: 1;
  white-space: nowrap;
}

.home-page th:first-child .sort-header,
.home-page th:first-child button {
  justify-content: flex-start;
}

.home-page th:nth-child(3),
.home-page th:nth-child(5),
.home-page th:nth-child(7),
.home-page td:nth-child(3),
.home-page td:nth-child(5),
.home-page td:nth-child(7) {
  width: 4.85rem;
  min-width: 4.85rem;
  max-width: 4.85rem;
}

.home-page th:nth-child(3) .sort-header,
.home-page th:nth-child(5) .sort-header,
.home-page th:nth-child(7) .sort-header,
.home-page th:nth-child(3) button,
.home-page th:nth-child(5) button,
.home-page th:nth-child(7) button {
  width: 100%;
  padding-inline: 0.52rem;
  gap: 0.35rem;
}

.home-page input[type="checkbox"],
.home-page label:has(input[type="checkbox"]),
.home-page .auto-refresh,
.home-page [data-auto-refresh],
.home-page #autoRefresh,
.home-page #autoRefreshCheckbox {
  cursor: pointer;
}

/* =========================
   Scanner polish
   ========================= */

.scanner-page .toolbar,
.scanner-page .controls,
.scanner-page .filters,
.scanner-page .scanner-controls {
  border-radius: 20px;
  border: 1px solid rgba(125, 211, 252, 0.14);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(8, 13, 27, 0.78));
  box-shadow: var(--ui-shadow-soft);
}

.scanner-page .toolbar,
.scanner-page .controls {
  gap: 0.75rem;
}

.scanner-page input,
.scanner-page select,
.scanner-page button {
  min-height: 36px;
}

.scanner-page input,
.scanner-page select {
  border-radius: 13px;
  background: rgba(2, 6, 23, 0.58);
  border-color: rgba(148, 163, 184, 0.18);
}

.scanner-page button,
.scanner-page .btn,
.scanner-page .button {
  border-radius: 13px;
  font-weight: 650;
}

.scanner-page table {
  font-size: 0.86rem;
}

.scanner-page thead th {
  background: rgba(8, 15, 29, 0.92);
  border-bottom: 1px solid rgba(125, 211, 252, 0.15);
}

.scanner-page tbody tr:hover td {
  background: var(--ui-row-hover);
}

.scanner-page td,
.scanner-page th {
  padding-block: 0.66rem;
}

.scanner-page .scanner-card,
.scanner-page .summary-card,
.scanner-page .panel,
.scanner-page .card {
  border-radius: 20px;
  border-color: rgba(125, 211, 252, 0.14);
  box-shadow: var(--ui-shadow-soft);
}

/* =========================
   Data Health UI
   ========================= */

.health-page {
  --health-card-pad: clamp(16px, 1.55vw, 24px);
}

.health-page main,
.health-page .page,
.health-page .content,
.health-page #app,
.health-page #healthRoot {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.health-page .card,
.health-page .panel,
.health-page section,
.health-page .section,
.health-page .health-card,
.health-page .health-section,
.health-page #dataDoctor,
.health-page #repairManager {
  padding: var(--health-card-pad);
  border-radius: 22px;
  border: 1px solid rgba(125, 211, 252, 0.14);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(8, 13, 27, 0.76));
  box-shadow: var(--ui-shadow-panel);
}

.health-page h1 {
  font-size: clamp(1.55rem, 3vw, 2.45rem);
  line-height: 1;
  letter-spacing: -0.065em;
}

.health-page h2 {
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  letter-spacing: -0.035em;
}

.health-page h3 {
  font-size: 0.98rem;
  letter-spacing: -0.02em;
}

.health-page table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: clip;
  border-radius: 16px;
}

.health-page thead th {
  background: rgba(8, 15, 29, 0.88);
  border-bottom: 1px solid rgba(125, 211, 252, 0.15);
}

.health-page th,
.health-page td {
  padding: 0.72rem 0.86rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.075);
  vertical-align: middle;
}

.health-page tbody tr:last-child td {
  border-bottom: 0;
}

.health-page tbody tr:hover td {
  background: var(--ui-row-hover);
}

.health-page .status,
.health-page .badge,
.health-page .pill,
.health-page [class*="status"],
.health-page [class*="badge"],
.health-page [class*="pill"] {
  border-radius: 999px;
}

/* Make INFO visually neutral, not alarming */
.health-page .status-info,
.health-page .badge-info,
.health-page .pill-info,
.health-page [data-status="INFO"],
.health-page [data-severity="INFO"],
.health-page [class*="info"] {
  background: var(--ui-info-bg);
  border-color: var(--ui-info-border);
  color: var(--ui-info-text);
}

/* OK */
.health-page .status-ok,
.health-page .badge-ok,
.health-page .pill-ok,
.health-page [data-status="OK"],
.health-page [data-severity="OK"] {
  background: var(--ui-ok-bg);
  border-color: var(--ui-ok-border);
  color: var(--ui-ok-text);
}

/* WARN */
.health-page .status-warn,
.health-page .badge-warn,
.health-page .pill-warn,
.health-page [data-status="WARN"],
.health-page [data-severity="WARN"] {
  background: var(--ui-warn-bg);
  border-color: var(--ui-warn-border);
  color: var(--ui-warn-text);
}

/* ERROR / CRITICAL */
.health-page .status-error,
.health-page .status-critical,
.health-page .badge-error,
.health-page .badge-critical,
.health-page .pill-error,
.health-page .pill-critical,
.health-page [data-status="ERROR"],
.health-page [data-status="CRITICAL"],
.health-page [data-severity="ERROR"],
.health-page [data-severity="CRITICAL"] {
  background: var(--ui-error-bg);
  border-color: var(--ui-error-border);
  color: var(--ui-error-text);
}

/* Low-pressure server peaks should read as meta/informational */
.health-page [data-section="server-peaks"],
.health-page .server-peaks,
.health-page #serverPeaks {
  position: relative;
}

.health-page [data-section="server-peaks"] .status-info,
.health-page .server-peaks .status-info,
.health-page #serverPeaks .status-info {
  box-shadow: none;
}

/* =========================
   Responsive
   ========================= */

@media (max-width: 900px) {
  .home-page table,
  .scanner-page table,
  .health-page table {
    font-size: 0.82rem;
  }

  .home-page td,
  .home-page th,
  .scanner-page td,
  .scanner-page th,
  .health-page td,
  .health-page th {
    padding-inline: 0.58rem;
  }

  .health-page .card,
  .health-page .panel,
  .health-page section,
  .health-page .section {
    padding: 14px;
  }
}

@media (max-width: 680px) {
  .home-page th:nth-child(3),
  .home-page th:nth-child(5),
  .home-page th:nth-child(7),
  .home-page td:nth-child(3),
  .home-page td:nth-child(5),
  .home-page td:nth-child(7) {
    width: 4.35rem;
    min-width: 4.35rem;
    max-width: 4.35rem;
  }

  .home-page .sort-header,
  .home-page th button {
    min-height: 32px;
    padding-inline: 0.48rem;
  }
}


/* MANUAL_UI_COMPACT_LAYOUT_POLISH_20260519 */

/* =========================
   Global compact rhythm
   ========================= */

.home-page,
.scanner-page,
.health-page {
  --ui-section-gap: clamp(12px, 1.1vw, 18px);
  --ui-card-pad-compact: clamp(13px, 1.25vw, 18px);
}

.home-page main,
.scanner-page main,
.health-page main,
.health-page .page,
.health-page .content,
.health-page #app,
.health-page #healthRoot {
  gap: var(--ui-section-gap) !important;
}

/* Reduce oversized vertical gaps from previous broad section rules */
.home-page header,
.scanner-page header,
.health-page header,
.home-page .hero,
.scanner-page .hero,
.health-page .hero,
.home-page .page-header,
.scanner-page .page-header,
.health-page .page-header {
  margin-bottom: var(--ui-section-gap) !important;
}

/* =========================
   Home: tighter dashboard shell
   ========================= */

.home-page .hero,
.home-page header,
.home-page .page-header {
  min-height: unset !important;
  padding-block: clamp(16px, 1.7vw, 26px) !important;
}

.home-page h1,
.home-page .hero h1,
.home-page header h1 {
  font-size: clamp(1.15rem, 2.05vw, 1.55rem) !important;
  max-width: none !important;
  letter-spacing: -0.055em !important;
  line-height: 1.05 !important;
}

.home-page .toolbar,
.home-page .controls {
  padding: clamp(12px, 1.15vw, 18px) !important;
  min-height: unset !important;
}

.home-page .table-wrap,
.home-page .table-container,
.home-page [data-table-wrap],
.home-page .dashboard-table {
  margin-top: 0 !important;
}

.home-page tbody td {
  padding-block: 0.58rem !important;
}

.home-page .watchlist,
.home-page .refresh,
.home-page .settings,
.home-page button {
  min-height: 34px;
}

/* Action/open buttons: calmer and more consistent */
.home-page a[href*="detail"],
.home-page .open,
.home-page .open-btn,
.home-page button.open {
  border-radius: 12px;
  min-height: 32px;
  padding-inline: 0.82rem;
}

/* =========================
   Scanner: compact controls + cards
   ========================= */

.scanner-page .hero,
.scanner-page header,
.scanner-page .page-header {
  padding-block: clamp(20px, 2vw, 32px) !important;
}

.scanner-page h1,
.scanner-page .hero h1,
.scanner-page header h1 {
  font-size: clamp(1.55rem, 2.4vw, 2.05rem) !important;
  line-height: 1.02 !important;
}

.scanner-page .toolbar,
.scanner-page .controls,
.scanner-page .filters,
.scanner-page .scanner-controls {
  padding: clamp(12px, 1.25vw, 18px) !important;
  gap: clamp(8px, 0.9vw, 13px) !important;
}

.scanner-page .summary-card,
.scanner-page .metric-card,
.scanner-page .workspace-card,
.scanner-page .scanner-card,
.scanner-page .card,
.scanner-page .panel {
  padding: clamp(12px, 1.15vw, 18px) !important;
}

.scanner-page .summary-grid,
.scanner-page .stats-grid {
  gap: clamp(9px, 0.95vw, 14px) !important;
}

.scanner-page .summary-card .value,
.scanner-page .metric-card .value,
.scanner-page .stat-value {
  font-size: clamp(1.15rem, 1.65vw, 1.65rem);
  letter-spacing: -0.045em;
}

.scanner-page #scannerWorkspace,
.scanner-page .scanner-workspace,
.scanner-page .workspace {
  padding: clamp(12px, 1.15vw, 18px) !important;
}

.scanner-page .workspace-buckets,
.scanner-page .dominant-families,
.scanner-page .workspace-grid {
  gap: 8px !important;
}

/* =========================
   Data Health: remove excessive vertical whitespace
   ========================= */

.health-page {
  padding-top: clamp(12px, 1.2vw, 18px) !important;
}

.health-page .hero,
.health-page header,
.health-page .page-header {
  min-height: unset !important;
  padding-block: clamp(20px, 2vw, 34px) !important;
  margin-bottom: clamp(12px, 1.15vw, 18px) !important;
}

.health-page h1 {
  font-size: clamp(1.75rem, 3.1vw, 2.45rem) !important;
  line-height: 0.98 !important;
}

.health-page .card,
.health-page .panel,
.health-page section,
.health-page .section,
.health-page .health-card,
.health-page .health-section,
.health-page #dataDoctor,
.health-page #repairManager {
  padding: var(--ui-card-pad-compact) !important;
}

.health-page .summary,
.health-page .summary-grid,
.health-page .overview-grid,
.health-page .status-grid,
.health-page .cards,
.health-page .health-summary {
  gap: clamp(10px, 1vw, 14px) !important;
  margin-block: 0 !important;
}

.health-page .summary-card,
.health-page .overview-card,
.health-page .status-card,
.health-page .health-card {
  min-height: unset !important;
}

.health-page .summary-card .value,
.health-page .overview-card .value,
.health-page .status-card .value,
.health-page .metric-value,
.health-page .big-value {
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em;
}

.health-page nav,
.health-page .tabs,
.health-page .tabbar,
.health-page .button-row {
  margin-block: clamp(10px, 1vw, 14px) !important;
  padding: 8px !important;
  gap: 8px !important;
}

.health-page table {
  margin-top: 6px !important;
}

.health-page th,
.health-page td {
  padding-block: 0.62rem !important;
}

/* Warnings card: when system is OK, keep warning count visually less alarming */
.health-page .warnings,
.health-page #warnings,
.health-page [data-section="warnings"] {
  border-color: rgba(96, 165, 250, 0.18) !important;
}

/* Backup/Data/Doctor/Repair sections: less bulky */
.health-page #backup,
.health-page .backup,
.health-page [data-section="backup"],
.health-page #dataDoctor,
.health-page #repairManager {
  margin-top: clamp(10px, 1vw, 16px) !important;
}

/* =========================
   Button consistency
   ========================= */

.home-page button,
.scanner-page button,
.health-page button,
.home-page .button,
.scanner-page .button,
.health-page .button,
.home-page .btn,
.scanner-page .btn,
.health-page .btn {
  font-weight: 680;
  letter-spacing: -0.012em;
}

.home-page button:focus-visible,
.scanner-page button:focus-visible,
.health-page button:focus-visible,
.home-page a:focus-visible,
.scanner-page a:focus-visible,
.health-page a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.16);
}

/* =========================
   Mobile
   ========================= */

@media (max-width: 760px) {
  .home-page .hero,
  .scanner-page .hero,
  .health-page .hero,
  .home-page header,
  .scanner-page header,
  .health-page header {
    padding-block: 14px !important;
  }

  .health-page h1 {
    font-size: clamp(1.45rem, 9vw, 2rem) !important;
  }

  .scanner-page h1 {
    font-size: clamp(1.45rem, 8vw, 1.9rem) !important;
  }

  .home-page h1 {
    font-size: clamp(1.05rem, 6vw, 1.35rem) !important;
  }
}


/* MANUAL_DETAIL_SETTINGS_CSS_ONLY_20260519 */

.detail-settings-menu {
  position: fixed !important;
  width: min(440px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(68vh, 560px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  z-index: 2147483600 !important;
  padding: 12px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(103, 216, 255, 0.32) !important;
  background:
    linear-gradient(180deg, rgba(8, 15, 28, 0.985), rgba(4, 8, 17, 0.97)),
    radial-gradient(circle at 95% 0%, rgba(103, 216, 255, 0.14), transparent 16rem) !important;
  box-shadow:
    0 30px 110px rgba(0, 0, 0, 0.68),
    inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
  backdrop-filter: blur(28px) saturate(1.25) !important;
  scrollbar-width: thin;
}

.detail-settings-menu.hidden {
  display: none !important;
}

.detail-settings-head {
  position: sticky !important;
  top: -12px !important;
  z-index: 2 !important;
  margin: -12px -12px 10px !important;
  padding: 12px !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
  background: rgba(5, 10, 20, 0.92) !important;
  backdrop-filter: blur(18px) !important;
}

.detail-settings-head strong {
  font-size: 0.96rem !important;
  letter-spacing: -0.02em !important;
}

.detail-settings-close {
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 11px !important;
}

.detail-settings-section {
  padding: 10px !important;
  margin-top: 8px !important;
  border-radius: 16px !important;
}

.detail-settings-title {
  margin-bottom: 8px !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.11em !important;
}

.detail-settings-panel-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.detail-settings-row,
.panel-toggle-row,
.detail-settings-number-row {
  min-height: 36px !important;
  padding: 7px 9px !important;
  gap: 8px !important;
  border-radius: 13px !important;
  font-size: 0.78rem !important;
  line-height: 1.18 !important;
}

.detail-settings-row span,
.panel-toggle-row span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.detail-settings-number-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(78px, 108px) !important;
  align-items: center !important;
}

.detail-settings-number-row input,
.detail-settings-number-row select {
  width: 100% !important;
  min-width: 0 !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 11px !important;
}

.market-anomaly-options {
  display: grid !important;
  gap: 7px !important;
  margin-top: 8px !important;
  overflow: hidden !important;
  animation: detailSettingsReveal 160ms ease-out;
}

@keyframes detailSettingsReveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .detail-settings-menu {
    top: 76px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 96px) !important;
  }

  .detail-settings-panel-grid {
    grid-template-columns: 1fr !important;
  }
}


/* MANUAL_DETAIL_ANOMALY_OPTIONS_CSS_20260519 */

/* Hide Market Anomalies advanced options when bubbles are OFF.
   Current detail.js already toggles is-open / is-closed, so no JS patch is needed. */
.detail-settings-menu .market-anomaly-options.is-closed {
  display: none !important;
}

.detail-settings-menu .market-anomaly-options.is-open {
  display: grid !important;
  gap: 7px !important;
  margin-top: 8px !important;
  animation: detailAnomalyOptionsOpen 150ms ease-out;
}

@keyframes detailAnomalyOptionsOpen {
  from {
    opacity: 0;
    transform: translateY(-4px);
    max-height: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    max-height: 260px;
  }
}

/* Make the anomaly toggle visually distinct from regular panel toggles. */
.detail-settings-menu .detail-settings-anomaly-toggle {
  border-color: rgba(167, 139, 250, 0.26) !important;
  background:
    linear-gradient(180deg, rgba(124, 58, 237, 0.12), rgba(15, 23, 42, 0.36)) !important;
}

.detail-settings-menu .detail-settings-anomaly-toggle:hover {
  border-color: rgba(167, 139, 250, 0.42) !important;
  background:
    linear-gradient(180deg, rgba(124, 58, 237, 0.18), rgba(15, 23, 42, 0.42)) !important;
}

/* Keep number/select rows compact after reveal. */
.detail-settings-menu .market-anomaly-options .detail-settings-number-row {
  min-height: 34px !important;
  padding-block: 6px !important;
}


/* BATCH132_UI_MOTION_LAYOUT_POLISH_20260519 */

/* =========================================================
   Detail chart motion
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {
  .detail-page #chart,
  .detail-page #chartContainer,
  .detail-page .chart-wrap,
  .detail-page .chart-panel,
  .detail-page .chart-shell,
  .detail-page .tv-lightweight-charts {
    will-change: opacity, transform, filter;
  }

  .detail-page .detail-chart-soft-refresh {
    animation: detailChartSoftRefresh 280ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }

  @keyframes detailChartSoftRefresh {
    0% {
      opacity: 0.76;
      transform: translateY(2px);
      filter: blur(0.7px) saturate(0.96);
    }
    55% {
      opacity: 0.94;
      filter: blur(0.18px) saturate(1.02);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0) saturate(1);
    }
  }

  .detail-page .pane-label,
  .detail-page .pane-badge {
    transition:
      opacity 180ms ease,
      transform 180ms ease,
      border-color 180ms ease,
      background-color 180ms ease;
  }

  .detail-page .pane-label:hover,
  .detail-page .pane-badge:hover {
    transform: translateY(-1px);
    border-color: rgba(125, 211, 252, 0.38);
  }
}

/* =========================================================
   Detail settings compact behavior
   ========================================================= */

.detail-settings-menu {
  width: min(430px, calc(100vw - 24px)) !important;
  max-height: min(70vh, 580px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin;
}

.detail-settings-panel-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.detail-settings-row,
.panel-toggle-row,
.detail-settings-number-row {
  min-height: 35px !important;
  padding: 7px 9px !important;
  border-radius: 13px !important;
}

.detail-settings-number-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(80px, 108px) !important;
  align-items: center !important;
  gap: 8px !important;
}

.detail-settings-number-row input,
.detail-settings-number-row select {
  width: 100% !important;
  min-width: 0 !important;
  height: 32px !important;
  min-height: 32px !important;
}

.detail-settings-menu .market-anomaly-options.is-closed {
  display: grid !important;
  max-height: 0 !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  transform: translateY(-4px);
  transition:
    max-height 180ms ease,
    opacity 150ms ease,
    transform 150ms ease,
    margin-top 150ms ease;
}

.detail-settings-menu .market-anomaly-options.is-open {
  display: grid !important;
  max-height: 280px !important;
  opacity: 1 !important;
  margin-top: 8px !important;
  pointer-events: auto !important;
  overflow: hidden !important;
  transform: translateY(0);
  transition:
    max-height 210ms cubic-bezier(0.2, 0.8, 0.2, 1),
    opacity 170ms ease,
    transform 170ms ease,
    margin-top 170ms ease;
}

.detail-settings-menu .detail-settings-anomaly-toggle {
  border-color: rgba(167, 139, 250, 0.28) !important;
  background:
    linear-gradient(180deg, rgba(124, 58, 237, 0.13), rgba(15, 23, 42, 0.34)) !important;
}

/* =========================================================
   Detail page layout polish
   ========================================================= */

.detail-page .hero,
.detail-page header,
.detail-page .page-header {
  padding-block: clamp(22px, 2.1vw, 34px) !important;
}

.detail-page h1,
.detail-page .hero h1,
.detail-page header h1 {
  letter-spacing: -0.06em !important;
}

.detail-page .toolbar,
.detail-page .controls {
  padding: clamp(12px, 1.15vw, 18px) !important;
  gap: clamp(8px, 0.85vw, 13px) !important;
}

.detail-page .chart-wrap,
.detail-page #chart,
.detail-page .chart-panel {
  border-radius: 20px !important;
}

.detail-page .pane-label,
.detail-page .pane-badge {
  padding: 3px 9px !important;
  border-radius: 999px !important;
  font-size: 0.72rem !important;
  letter-spacing: -0.01em !important;
}

/* =========================================================
   Home polish continuation
   ========================================================= */

.home-page .toolbar,
.home-page .controls {
  border-radius: 20px !important;
}

.home-page .table-wrap,
.home-page .table-container,
.home-page [data-table-wrap],
.home-page .dashboard-table {
  border-radius: 20px !important;
}

.home-page tbody tr {
  transition:
    background-color 150ms ease,
    box-shadow 150ms ease;
}

.home-page tbody tr:hover {
  box-shadow: inset 3px 0 0 rgba(56, 189, 248, 0.42);
}

.home-page td:first-child a,
.home-page td:first-child button,
.home-page .asset,
.home-page .asset-name {
  font-weight: 730;
}

/* =========================================================
   Scanner larger polish
   ========================================================= */

.scanner-page .summary-card,
.scanner-page .metric-card,
.scanner-page .workspace-card,
.scanner-page .scanner-card {
  min-height: 72px;
}

.scanner-page .summary-card .value,
.scanner-page .stat-value,
.scanner-page .metric-value {
  font-variant-numeric: tabular-nums;
}

.scanner-page #scannerWorkspace,
.scanner-page .scanner-workspace,
.scanner-page .workspace {
  border-radius: 20px !important;
}

.scanner-page .workspace-buckets > *,
.scanner-page .dominant-families > *,
.scanner-page .workspace-grid > * {
  transition:
    border-color 150ms ease,
    background-color 150ms ease,
    transform 150ms ease;
}

.scanner-page .workspace-buckets > *:hover,
.scanner-page .dominant-families > *:hover,
.scanner-page .workspace-grid > *:hover {
  transform: translateY(-1px);
  border-color: rgba(125, 211, 252, 0.26);
  background: rgba(56, 189, 248, 0.035);
}

/* =========================================================
   Data Health larger polish
   ========================================================= */

.health-page .summary-card,
.health-page .overview-card,
.health-page .status-card {
  min-height: 112px !important;
}

.health-page .summary-card,
.health-page .overview-card,
.health-page .status-card,
.health-page .card,
.health-page .panel {
  transition:
    border-color 150ms ease,
    background-color 150ms ease,
    transform 150ms ease;
}

.health-page .summary-card:hover,
.health-page .overview-card:hover,
.health-page .status-card:hover {
  transform: translateY(-1px);
  border-color: rgba(125, 211, 252, 0.26);
}

.health-page td,
.health-page th {
  font-variant-numeric: tabular-nums;
}

.health-page td,
.health-page dd,
.health-page .value,
.health-page .detail,
.health-page .description {
  overflow-wrap: anywhere;
}

.health-page .backup,
.health-page #backup,
.health-page [data-section="backup"] {
  overflow: hidden;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 760px) {
  .detail-settings-panel-grid {
    grid-template-columns: 1fr !important;
  }

  .detail-settings-menu {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 96px) !important;
  }

  .scanner-page .summary-card,
  .scanner-page .metric-card,
  .scanner-page .workspace-card,
  .scanner-page .scanner-card,
  .health-page .summary-card,
  .health-page .overview-card,
  .health-page .status-card {
    min-height: unset !important;
  }
}


/* BATCH133_DETAIL_SETTINGS_ANCHOR_FIX_20260519 */

/* Remove Batch 132 chart fade/soft-refresh behavior. */
.detail-page .detail-chart-soft-refresh,
.detail-chart-soft-refresh {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Settings popover must be anchored by detail.js near the gear button. */
.detail-settings-menu {
  position: fixed !important;
  left: var(--detail-settings-left, 12px) !important;
  top: var(--detail-settings-top, 76px) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--detail-settings-width, min(420px, calc(100vw - 20px))) !important;
  max-width: calc(100vw - 20px) !important;
  max-height: var(--detail-settings-max-height, min(70vh, 560px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 2147483600 !important;
}

.detail-settings-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Small anchor pointer toward the button. */
.detail-settings-menu::before {
  content: "";
  position: fixed;
  width: 10px;
  height: 10px;
  top: calc(var(--detail-settings-top, 76px) - 5px);
  left: min(
    calc(100vw - 26px),
    max(18px, calc(var(--detail-settings-left, 12px) + var(--detail-settings-width, 420px) - 36px))
  );
  transform: rotate(45deg);
  background: rgba(8, 15, 28, 0.985);
  border-left: 1px solid rgba(103, 216, 255, 0.28);
  border-top: 1px solid rgba(103, 216, 255, 0.28);
  z-index: 2147483601;
}

.detail-settings-menu[data-placement="top"]::before {
  top: calc(var(--detail-settings-top, 76px) + var(--detail-settings-max-height, 560px) - 5px);
  border-left: 0;
  border-top: 0;
  border-right: 1px solid rgba(103, 216, 255, 0.28);
  border-bottom: 1px solid rgba(103, 216, 255, 0.28);
}

.detail-settings-menu.hidden::before {
  display: none !important;
}

@media (max-width: 760px) {
  .detail-settings-menu {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-height: calc(100vh - 88px) !important;
  }

  .detail-settings-menu::before {
    display: none !important;
  }
}


/* BATCH134_DETAIL_SETTINGS_REAL_ANCHOR_20260519 */

/* Hard override: Detail settings is a real anchored popover, not a centered modal. */
.detail-settings-menu[data-anchor-managed="1"],
.detail-settings-menu {
  position: fixed !important;
  left: var(--detail-settings-left, 10px) !important;
  top: var(--detail-settings-top, 76px) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--detail-settings-width, min(420px, calc(100vw - 20px))) !important;
  max-width: calc(100vw - 20px) !important;
  max-height: var(--detail-settings-max-height, min(70vh, 560px)) !important;
  transform: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 2147483600 !important;
}

/* Disable old Batch 132 chart soft-refresh completely. */
.detail-chart-soft-refresh,
.detail-page .detail-chart-soft-refresh,
.detail-page #chart.detail-chart-soft-refresh,
.detail-page #chartContainer.detail-chart-soft-refresh,
.detail-page .chart-wrap.detail-chart-soft-refresh,
.detail-page .chart-panel.detail-chart-soft-refresh {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Small popover pointer. Hidden on mobile because menu becomes full-width. */
.detail-settings-menu[data-anchor-managed="1"]::before {
  content: "";
  position: fixed;
  width: 10px;
  height: 10px;
  top: calc(var(--detail-settings-top, 76px) - 5px);
  left: min(
    calc(100vw - 26px),
    max(18px, calc(var(--detail-settings-left, 10px) + var(--detail-settings-width, 420px) - 34px))
  );
  transform: rotate(45deg);
  background: rgba(8, 15, 28, 0.985);
  border-left: 1px solid rgba(103, 216, 255, 0.28);
  border-top: 1px solid rgba(103, 216, 255, 0.28);
  z-index: 2147483601;
}

.detail-settings-menu[data-anchor-managed="1"][data-placement="top"]::before {
  top: calc(var(--detail-settings-top, 76px) + var(--detail-settings-max-height, 560px) - 5px);
  border-left: 0;
  border-top: 0;
  border-right: 1px solid rgba(103, 216, 255, 0.28);
  border-bottom: 1px solid rgba(103, 216, 255, 0.28);
}

.detail-settings-menu.hidden::before {
  display: none !important;
}

@media (max-width: 760px) {
  .detail-settings-menu[data-anchor-managed="1"],
  .detail-settings-menu {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-height: calc(100vh - 88px) !important;
  }

  .detail-settings-menu::before {
    display: none !important;
  }
}


/* BATCH135_DETAIL_SETTINGS_CSS_ANCHOR_20260519 */

/* Let the settings popover behave like a normal dropdown near the gear button. */
.detail-controls,
.compact-detail-controls,
.detail-settings-wrap {
  overflow: visible !important;
}

.detail-settings-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  z-index: 2147483500 !important;
}

/* Hard override old fixed/floating experiments. */
.detail-settings-wrap > .detail-settings-menu,
.detail-settings-wrap > .detail-settings-menu[data-anchor-managed="1"],
.detail-settings-wrap #detailSettingsMenu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;

  width: min(420px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(70vh, 560px) !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  z-index: 2147483600 !important;
}

/* Popover pointer now belongs to the wrapper, not viewport coordinates. */
.detail-settings-wrap > .detail-settings-menu::before,
.detail-settings-wrap > .detail-settings-menu[data-anchor-managed="1"]::before {
  content: "";
  position: absolute !important;
  top: -5px !important;
  right: 18px !important;
  left: auto !important;
  width: 10px !important;
  height: 10px !important;
  transform: rotate(45deg) !important;
  background: rgba(8, 15, 28, 0.985) !important;
  border-left: 1px solid rgba(103, 216, 255, 0.28) !important;
  border-top: 1px solid rgba(103, 216, 255, 0.28) !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  z-index: 2147483601 !important;
}

.detail-settings-wrap > .detail-settings-menu.hidden::before {
  display: none !important;
}

/* Disable previous chart fade helper permanently. */
.detail-chart-soft-refresh,
.detail-page .detail-chart-soft-refresh,
.detail-page #chart.detail-chart-soft-refresh,
.detail-page #chartContainer.detail-chart-soft-refresh,
.detail-page .chart-wrap.detail-chart-soft-refresh,
.detail-page .chart-panel.detail-chart-soft-refresh {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

@media (max-width: 760px) {
  .detail-settings-wrap {
    position: static !important;
  }

  .detail-settings-wrap > .detail-settings-menu,
  .detail-settings-wrap #detailSettingsMenu {
    position: fixed !important;
    top: 76px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100vh - 88px) !important;
  }

  .detail-settings-wrap > .detail-settings-menu::before {
    display: none !important;
  }
}


/* BATCH136_SCANNER_ACCUMULATION_WORKSPACE_20260519 */

.radar-accumulation-panel {
  border: 1px solid rgba(125, 211, 252, 0.16);
  border-radius: 22px;
  padding: clamp(14px, 1.25vw, 20px);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(8, 13, 27, 0.74)),
    radial-gradient(circle at 10% 0%, rgba(34, 211, 238, 0.10), transparent 18rem);
  box-shadow: 0 18px 60px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.035);
}

.radar-accum-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.radar-accum-stats > div {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 16px;
  padding: 10px 12px;
  background: rgba(2, 6, 23, 0.34);
}

.radar-accum-stats span,
.radar-accum-card span {
  display: block;
  color: rgba(148, 163, 184, 0.9);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.radar-accum-stats strong {
  display: block;
  margin-top: 4px;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: -0.045em;
  color: rgba(226, 232, 240, 0.96);
}

.radar-accum-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.radar-accum-card {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 18px;
  padding: 12px;
  background: rgba(2, 6, 23, 0.38);
  transition: transform 150ms ease, border-color 150ms ease, background-color 150ms ease;
}

.radar-accum-card:hover {
  transform: translateY(-1px);
  border-color: rgba(125, 211, 252, 0.30);
  background: rgba(15, 23, 42, 0.56);
}

.radar-accum-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.radar-accum-card-head strong {
  display: block;
  color: rgba(125, 211, 252, 0.98);
  font-size: 1rem;
}

.radar-accum-card-head b {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: -0.055em;
  color: rgba(226, 232, 240, 0.98);
}

.radar-accum-phase {
  margin: 9px 0 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(203, 213, 225, 0.92);
  font-size: 0.78rem;
}

.radar-accum-phase span {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(34, 211, 238, 0.11);
  border: 1px solid rgba(34, 211, 238, 0.25);
  color: rgba(165, 243, 252, 0.96);
  font-size: 0.75rem;
  letter-spacing: 0;
  text-transform: none;
}

.radar-accum-card.quality-A {
  border-color: rgba(34, 211, 238, 0.34);
  background: linear-gradient(180deg, rgba(8, 47, 73, 0.30), rgba(2, 6, 23, 0.38));
}

.radar-accum-card.quality-B {
  border-color: rgba(96, 165, 250, 0.24);
}

.radar-accum-card ul {
  margin: 0 0 10px;
  padding-left: 16px;
  color: rgba(148, 163, 184, 0.94);
  font-size: 0.78rem;
  line-height: 1.42;
}

.radar-accum-card a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 11px;
  border: 1px solid rgba(125, 211, 252, 0.24);
  color: rgba(125, 211, 252, 0.98);
  text-decoration: none;
  font-weight: 650;
}

.radar-tag.accumulation_candidate {
  border-color: rgba(34, 211, 238, 0.28);
  color: rgba(165, 243, 252, 0.96);
  background: rgba(8, 145, 178, 0.11);
}

@media (max-width: 1180px) {
  .radar-accum-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .radar-accum-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .radar-accum-grid,
  .radar-accum-stats { grid-template-columns: 1fr; }
}


/* BATCH139_SPOT_CVD_GROWTH_MONITOR_20260520 */

.radar-spot-cvd-panel {
  border: 1px solid rgba(45, 212, 191, 0.18);
  border-radius: 22px;
  padding: clamp(14px, 1.25vw, 20px);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(8, 13, 27, 0.74)),
    radial-gradient(circle at 10% 0%, rgba(45, 212, 191, 0.12), transparent 18rem);
  box-shadow: 0 18px 60px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.035);
}

.radar-spot-cvd-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.radar-spot-cvd-stats > div,
.radar-spot-cvd-card {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 16px;
  padding: 10px 12px;
  background: rgba(2, 6, 23, 0.34);
}

.radar-spot-cvd-stats span,
.radar-spot-cvd-card span {
  display: block;
  color: rgba(148, 163, 184, 0.9);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.radar-spot-cvd-stats strong {
  display: block;
  margin-top: 4px;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: -0.045em;
  color: rgba(226, 232, 240, 0.96);
}

.radar-spot-cvd-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.radar-spot-cvd-card {
  border-radius: 18px;
  transition: transform 150ms ease, border-color 150ms ease, background-color 150ms ease;
}

.radar-spot-cvd-card:hover {
  transform: translateY(-1px);
  border-color: rgba(45, 212, 191, 0.32);
  background: rgba(15, 23, 42, 0.56);
}

.radar-spot-cvd-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.radar-spot-cvd-card-head strong {
  display: block;
  color: rgba(94, 234, 212, 0.98);
  font-size: 1rem;
}

.radar-spot-cvd-card-head b {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: -0.055em;
  color: rgba(226, 232, 240, 0.98);
}

.radar-spot-cvd-phase {
  margin: 9px 0 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(203, 213, 225, 0.92);
  font-size: 0.78rem;
}

.radar-spot-cvd-phase span {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(20, 184, 166, 0.12);
  border: 1px solid rgba(45, 212, 191, 0.28);
  color: rgba(153, 246, 228, 0.96);
  font-size: 0.75rem;
  letter-spacing: 0;
  text-transform: none;
}

.radar-spot-cvd-card.quality-A {
  border-color: rgba(45, 212, 191, 0.38);
  background: linear-gradient(180deg, rgba(20, 83, 75, 0.30), rgba(2, 6, 23, 0.38));
}

.radar-spot-cvd-card ul {
  margin: 0 0 10px;
  padding-left: 16px;
  color: rgba(148, 163, 184, 0.94);
  font-size: 0.78rem;
  line-height: 1.42;
}

.radar-spot-cvd-card a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 11px;
  border: 1px solid rgba(45, 212, 191, 0.26);
  color: rgba(94, 234, 212, 0.98);
  text-decoration: none;
  font-weight: 650;
}

.radar-tag.spot_cvd_growth,
.radar-tag.spot_cvd_pool_zero,
.radar-tag.spot_cvd_accumulation,
.radar-tag.spot_cvd_pool_zero_accumulation {
  border-color: rgba(45, 212, 191, 0.30);
  color: rgba(153, 246, 228, 0.96);
  background: rgba(20, 184, 166, 0.11);
}

@media (max-width: 1180px) {
  .radar-spot-cvd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .radar-spot-cvd-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .radar-spot-cvd-grid,
  .radar-spot-cvd-stats { grid-template-columns: 1fr; }
}


/* BATCH140_SCANNER_CONTEXT_FILTERS_20260520 */

.radar-context-filters-panel {
  border: 1px solid rgba(125, 211, 252, 0.16);
  border-radius: 22px;
  padding: clamp(14px, 1.25vw, 20px);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(8, 13, 27, 0.74)),
    radial-gradient(circle at 12% 0%, rgba(125, 211, 252, 0.10), transparent 18rem);
  box-shadow: 0 18px 60px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.035);
}

.radar-context-filters-head {
  margin-bottom: 12px;
}

.radar-context-filter-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(2, 6, 23, 0.34);
  color: rgba(148, 163, 184, 0.94);
  font-size: 0.78rem;
  font-weight: 650;
  white-space: nowrap;
}

.radar-context-filter-status[data-state="active"] {
  border-color: rgba(45, 212, 191, 0.30);
  color: rgba(153, 246, 228, 0.96);
  background: rgba(20, 184, 166, 0.12);
}

.radar-context-filter-status[data-state="empty"] {
  border-color: rgba(251, 191, 36, 0.28);
  color: rgba(253, 230, 138, 0.96);
  background: rgba(245, 158, 11, 0.10);
}

.radar-context-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.radar-context-filter-chip,
.radar-context-filter-number {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 15px;
  padding: 8px 10px;
  background: rgba(2, 6, 23, 0.34);
  color: rgba(203, 213, 225, 0.94);
  font-size: 0.82rem;
  font-weight: 650;
  cursor: pointer;
}

.radar-context-filter-chip:hover,
.radar-context-filter-number:hover {
  border-color: rgba(125, 211, 252, 0.28);
  background: rgba(15, 23, 42, 0.52);
}

.radar-context-filter-chip input[type="checkbox"] {
  cursor: pointer;
}

.radar-context-filter-number {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px;
  cursor: default;
}

.radar-context-filter-number span {
  color: rgba(148, 163, 184, 0.95);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.radar-context-filter-number input {
  width: 100%;
  height: 30px;
  min-height: 30px;
  border-radius: 10px;
  text-align: right;
}

@media (max-width: 1180px) {
  .radar-context-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .radar-context-filter-grid {
    grid-template-columns: 1fr;
  }

  .radar-context-filter-status {
    white-space: normal;
  }
}


/* BATCH141_POOL_ZERO_STATE_20260520 */
.radar-context-filter-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.radar-pool-zero-state,
.radar-tag.pool_zero_bright_green,
.radar-tag.pool_zero_light_green,
.radar-tag.pool_zero_yellow,
.radar-tag.pool_zero_orange,
.radar-tag.pool_zero_red { border-radius: 999px; }
.radar-tag.pool_zero_bright_green,
.radar-pool-zero-state[data-color="bright_green"] { border-color: rgba(34, 197, 94, 0.48); color: rgba(187, 247, 208, 0.98); background: rgba(34, 197, 94, 0.16); }
.radar-tag.pool_zero_light_green,
.radar-pool-zero-state[data-color="light_green"] { border-color: rgba(132, 204, 22, 0.42); color: rgba(217, 249, 157, 0.98); background: rgba(132, 204, 22, 0.14); }
.radar-tag.pool_zero_yellow,
.radar-pool-zero-state[data-color="yellow"] { border-color: rgba(250, 204, 21, 0.38); color: rgba(254, 240, 138, 0.98); background: rgba(250, 204, 21, 0.12); }
.radar-tag.pool_zero_orange,
.radar-pool-zero-state[data-color="orange"] { border-color: rgba(251, 146, 60, 0.40); color: rgba(254, 215, 170, 0.98); background: rgba(249, 115, 22, 0.13); }
.radar-tag.pool_zero_red,
.radar-pool-zero-state[data-color="red"] { border-color: rgba(248, 113, 113, 0.42); color: rgba(254, 202, 202, 0.98); background: rgba(239, 68, 68, 0.13); }
@media (max-width: 1320px) { .radar-context-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .radar-context-filter-grid { grid-template-columns: 1fr; } }


/* BATCH146_CONTEXT_FILTER_PRESETS_20260521 */

.radar-context-filter-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.radar-context-filter-presets button {
  min-height: 32px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(125, 211, 252, 0.18) !important;
  background: rgba(2, 6, 23, 0.34) !important;
  color: rgba(203, 213, 225, 0.92) !important;
  box-shadow: none !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.radar-context-filter-presets button:hover {
  border-color: rgba(45, 212, 191, 0.34) !important;
  color: rgba(226, 232, 240, 0.98) !important;
  background: rgba(20, 184, 166, 0.10) !important;
  transform: translateY(-1px);
}

.radar-context-filter-presets button.is-active {
  border-color: rgba(45, 212, 191, 0.42) !important;
  color: rgba(153, 246, 228, 0.98) !important;
  background: rgba(20, 184, 166, 0.15) !important;
}

.radar-context-filter-presets button[data-context-preset="none"].is-active {
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: rgba(148, 163, 184, 0.98) !important;
  background: rgba(15, 23, 42, 0.38) !important;
}

.radar-context-filter-grid {
  align-items: stretch;
}

@media (max-width: 720px) {
  .radar-context-filter-presets button {
    flex: 1 1 calc(50% - 8px);
  }
}


/* BATCH149_SCANNER_UI_CLEANUP_20260521 */

.scanner-page .radar-topbar {
  min-height: 96px;
  align-items: center;
  background:
    linear-gradient(135deg, rgba(6, 12, 24, 0.94), rgba(8, 15, 32, 0.78)),
    radial-gradient(circle at 85% 10%, rgba(45, 212, 191, 0.10), transparent 22rem),
    radial-gradient(circle at 40% 0%, rgba(139, 92, 246, 0.11), transparent 20rem);
}

.scanner-page .radar-topbar h1 {
  letter-spacing: -0.055em;
}

.scanner-page .radar-section-header {
  gap: 14px;
  align-items: flex-start;
}

.scanner-page .radar-section-header h2 {
  letter-spacing: -0.045em;
}

.scanner-page .radar-section-header p {
  max-width: 860px;
  color: rgba(148, 163, 184, 0.88);
}

.scanner-page .radar-workspace-summary,
.scanner-page .radar-title-kicker,
.scanner-page .radar-workspace-note,
.scanner-page .radar-scroll-hint {
  display: none !important;
}

.scanner-page .radar-cards {
  margin-top: 12px;
  padding-top: 6px;
  border-top: 1px solid rgba(148, 163, 184, 0.08);
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  padding: 12px 0;
}

.scanner-page .radar-card {
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.74), rgba(8, 13, 27, 0.74)),
    radial-gradient(circle at 20% 0%, rgba(56, 189, 248, 0.08), transparent 14rem);
  border-color: rgba(125, 211, 252, 0.14);
}

.scanner-page .radar-spot-cvd-panel,
.scanner-page .radar-accumulation-panel,
.scanner-page .radar-events-panel,
.scanner-page .radar-table-wrap {
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255,255,255,0.035);
}

.scanner-page .radar-spot-cvd-card,
.scanner-page .radar-accum-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.scanner-page .radar-spot-cvd-card::before,
.scanner-page .radar-accum-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(45,212,191,0.0), rgba(45,212,191,0.45), rgba(139,92,246,0.30));
  opacity: 0.85;
}

.scanner-page .radar-spot-cvd-card-head,
.scanner-page .radar-accum-card-head {
  position: relative;
}

.scanner-page .radar-spot-cvd-card-head b,
.scanner-page .radar-accum-card-head b {
  min-width: 46px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.scanner-page .pool-zero-gauge {
  margin: 10px 0 8px;
  padding: 9px 10px;
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.34);
  border: 1px solid rgba(148, 163, 184, 0.13);
}

.scanner-page .pool-gauge-top,
.scanner-page .pool-gauge-label {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.scanner-page .pool-gauge-top span,
.scanner-page .pool-gauge-label {
  color: rgba(148, 163, 184, 0.9);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.scanner-page .pool-gauge-top strong {
  color: rgba(226, 232, 240, 0.98);
  font-size: 0.95rem;
  font-variant-numeric: tabular-nums;
}

.scanner-page .pool-gauge-scale {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
  margin: 8px 0 7px;
  padding-top: 8px;
}

.scanner-page .pool-gauge-seg {
  height: 9px;
  border-radius: 999px;
  background: rgba(51, 65, 85, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.12);
}

.scanner-page .pool-gauge-seg.is-on:nth-child(1) { background: linear-gradient(90deg, #ef4444, #f97316); }
.scanner-page .pool-gauge-seg.is-on:nth-child(2) { background: linear-gradient(90deg, #f97316, #f59e0b); }
.scanner-page .pool-gauge-seg.is-on:nth-child(3) { background: linear-gradient(90deg, #facc15, #a3e635); }
.scanner-page .pool-gauge-seg.is-on:nth-child(4) { background: linear-gradient(90deg, #84cc16, #22c55e); }
.scanner-page .pool-gauge-seg.is-on:nth-child(5) { background: linear-gradient(90deg, #22c55e, #00f5a0); box-shadow: 0 0 18px rgba(34,197,94,0.22); }

.scanner-page .pool-gauge-scale i {
  position: absolute;
  top: -1px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  left: calc((var(--pool-gauge-level, 1) - 0.5) * 20%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid rgba(226, 232, 240, 0.95);
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

.scanner-page .pool-zero-gauge.level-5 {
  border-color: rgba(34, 197, 94, 0.34);
  background: linear-gradient(180deg, rgba(20, 83, 45, 0.22), rgba(2, 6, 23, 0.34));
}

.scanner-page .pool-zero-gauge.level-4 { border-color: rgba(132, 204, 22, 0.30); }
.scanner-page .pool-zero-gauge.level-3 { border-color: rgba(250, 204, 21, 0.28); }
.scanner-page .pool-zero-gauge.level-2 { border-color: rgba(249, 115, 22, 0.25); }
.scanner-page .pool-zero-gauge.level-1 { border-color: rgba(239, 68, 68, 0.26); }

.scanner-page .radar-spot-cvd-card ul,
.scanner-page .radar-accum-card ul {
  padding-left: 14px;
  margin-top: 8px;
}

.scanner-page .radar-table-scroller {
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.scanner-page .radar-table,
.scanner-page .radar-events-table {
  table-layout: fixed;
  min-width: 1320px;
}

.scanner-page .radar-table th,
.scanner-page .radar-table td,
.scanner-page .radar-events-table th,
.scanner-page .radar-events-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.scanner-page .radar-col-tags,
.scanner-page .radar-table td:nth-child(18) {
  width: 230px;
  max-width: 230px;
}

.scanner-page .radar-col-actions,
.scanner-page .radar-table td:nth-child(20) {
  width: 96px;
  min-width: 96px;
  text-align: right;
}

.scanner-page .radar-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  max-width: 220px;
  overflow: hidden;
}

.scanner-page .radar-tag {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scanner-page .radar-link {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
}

.scanner-page .radar-events-table th:nth-child(16),
.scanner-page .radar-events-table td:nth-child(16) {
  width: 250px;
  max-width: 250px;
}

.scanner-page .radar-events-table th:nth-child(17),
.scanner-page .radar-events-table td:nth-child(17) {
  width: 86px;
  text-align: right;
}

@media (max-width: 980px) {
  .scanner-page .radar-table,
  .scanner-page .radar-events-table { min-width: 1180px; }
  .scanner-page .radar-col-tags,
  .scanner-page .radar-table td:nth-child(18) { width: 190px; max-width: 190px; }
  .scanner-page .radar-tags { max-width: 182px; }
}


/* BATCH150_SCANNER_EVENTS_TABLE_FIX_20260521 */

.scanner-page .radar-events-panel {
  overflow: hidden;
}

.scanner-page .radar-events-scroller {
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(2, 6, 23, 0.22);
}

.scanner-page .radar-events-table {
  table-layout: fixed;
  min-width: 1780px;
  width: 1780px;
  border-collapse: separate;
  border-spacing: 0;
}

.scanner-page .radar-events-table th,
.scanner-page .radar-events-table td {
  box-sizing: border-box;
  padding: 14px 12px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}

.scanner-page .radar-events-table th {
  color: rgba(203, 213, 225, 0.74);
  font-size: 0.76rem;
  letter-spacing: 0.07em;
  white-space: nowrap;
}

.scanner-page .radar-events-table td {
  color: rgba(226, 232, 240, 0.92);
  font-size: 0.88rem;
}

.scanner-page .radar-events-table td.num,
.scanner-page .radar-events-table th.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.scanner-page .radar-events-table th:nth-child(1),
.scanner-page .radar-events-table td:nth-child(1) { width: 96px; }
.scanner-page .radar-events-table th:nth-child(2),
.scanner-page .radar-events-table td:nth-child(2) { width: 142px; }
.scanner-page .radar-events-table th:nth-child(3),
.scanner-page .radar-events-table td:nth-child(3) { width: 92px; }
.scanner-page .radar-events-table th:nth-child(4),
.scanner-page .radar-events-table td:nth-child(4) { width: 74px; }
.scanner-page .radar-events-table th:nth-child(5),
.scanner-page .radar-events-table td:nth-child(5) { width: 72px; text-align: center; }
.scanner-page .radar-events-table th:nth-child(6),
.scanner-page .radar-events-table td:nth-child(6) { width: 78px; text-align: center; }
.scanner-page .radar-events-table th:nth-child(7),
.scanner-page .radar-events-table td:nth-child(7) { width: 62px; text-align: center; }
.scanner-page .radar-events-table th:nth-child(8),
.scanner-page .radar-events-table td:nth-child(8) { width: 108px; }
.scanner-page .radar-events-table th:nth-child(9),
.scanner-page .radar-events-table td:nth-child(9) { width: 108px; }
.scanner-page .radar-events-table th:nth-child(10),
.scanner-page .radar-events-table td:nth-child(10) { width: 86px; }
.scanner-page .radar-events-table th:nth-child(11),
.scanner-page .radar-events-table td:nth-child(11) { width: 72px; }
.scanner-page .radar-events-table th:nth-child(12),
.scanner-page .radar-events-table td:nth-child(12) { width: 92px; }
.scanner-page .radar-events-table th:nth-child(13),
.scanner-page .radar-events-table td:nth-child(13) { width: 92px; }
.scanner-page .radar-events-table th:nth-child(14),
.scanner-page .radar-events-table td:nth-child(14) { width: 92px; }
.scanner-page .radar-events-table th:nth-child(15),
.scanner-page .radar-events-table td:nth-child(15) { width: 86px; }
.scanner-page .radar-events-table th:nth-child(16),
.scanner-page .radar-events-table td:nth-child(16) { width: 310px; }
.scanner-page .radar-events-table th:nth-child(17),
.scanner-page .radar-events-table td:nth-child(17) { width: 80px; text-align: right; }

.scanner-page .radar-event-row {
  position: relative;
  min-height: 92px;
}

.scanner-page .radar-event-row td:first-child {
  border-left: 3px solid transparent;
  padding-left: 20px;
}

.scanner-page .radar-event-row.is-buy td:first-child { border-left-color: rgba(16, 185, 129, 0.92); }
.scanner-page .radar-event-row.is-sell td:first-child { border-left-color: rgba(244, 63, 94, 0.92); }

.scanner-page .radar-event-type-cell {
  overflow: visible !important;
}

.scanner-page .radar-event-type {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 112px;
  min-height: 48px;
  padding: 8px 10px;
  border-radius: 15px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(15, 23, 42, 0.66);
  line-height: 1.05;
  white-space: normal;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.scanner-page .radar-event-type strong {
  color: rgba(226, 232, 240, 0.96);
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  line-height: 1.1;
}

.scanner-page .radar-event-type small {
  margin-top: 3px;
  color: rgba(148, 163, 184, 0.82);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scanner-page .radar-event-type.buy {
  border-color: rgba(16, 185, 129, 0.36);
  background: linear-gradient(180deg, rgba(6, 95, 70, 0.30), rgba(15, 23, 42, 0.66));
}

.scanner-page .radar-event-type.sell {
  border-color: rgba(244, 63, 94, 0.36);
  background: linear-gradient(180deg, rgba(136, 19, 55, 0.28), rgba(15, 23, 42, 0.66));
}

.scanner-page .radar-event-phase,
.scanner-page .radar-events-table .radar-pill {
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  white-space: nowrap;
}

.scanner-page .radar-event-tags-cell {
  overflow: hidden !important;
}

.scanner-page .radar-events-table .radar-event-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 290px;
  max-height: 72px;
  overflow: hidden;
}

.scanner-page .radar-events-table .radar-tag {
  max-width: 136px;
  min-height: 28px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 0.78rem;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scanner-page .radar-events-table .radar-event-tag-more {
  max-width: 56px;
  color: rgba(125, 211, 252, 0.96);
  border-color: rgba(125, 211, 252, 0.24);
  background: rgba(14, 116, 144, 0.12);
}

.scanner-page .radar-events-table .radar-link {
  min-width: 64px;
  min-height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(125, 211, 252, 0.22);
  background: rgba(8, 47, 73, 0.18);
}

.scanner-page .radar-events-table .radar-sub {
  display: block;
  margin-top: 4px;
  color: rgba(148, 163, 184, 0.78);
  font-size: 0.76rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1200px) {
  .scanner-page .radar-events-table {
    min-width: 1680px;
    width: 1680px;
  }
}


/* BATCH151_EVENTS_NO_TAGS_SCROLL_FIX_20260522 */

html,
body,
body.scanner-page {
  min-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.scanner-page,
.scanner-page,
.scanner-page main,
.scanner-page .page,
.scanner-page .app,
.scanner-page .wrap {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.scanner-page .radar-events-panel,
.scanner-page #marketImbalanceEvents {
  overflow: visible !important;
  max-height: none !important;
}

.scanner-page .radar-events-scroller,
.scanner-page .radar-table-scroller:has(.radar-events-table) {
  overflow-x: auto !important;
  overflow-y: visible !important;
  max-height: none !important;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
}

.scanner-page .radar-events-table {
  table-layout: fixed !important;
  width: 1460px !important;
  min-width: 1460px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.scanner-page .radar-events-table th,
.scanner-page .radar-events-table td {
  padding: 13px 11px !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.scanner-page .radar-events-table th {
  white-space: nowrap !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.07em !important;
}

.scanner-page .radar-events-table td {
  font-size: 0.86rem !important;
}

.scanner-page .radar-events-table td.num,
.scanner-page .radar-events-table th.num {
  white-space: nowrap !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

.scanner-page .radar-events-table th:nth-child(1),
.scanner-page .radar-events-table td:nth-child(1) { width: 98px !important; }
.scanner-page .radar-events-table th:nth-child(2),
.scanner-page .radar-events-table td:nth-child(2) { width: 136px !important; }
.scanner-page .radar-events-table th:nth-child(3),
.scanner-page .radar-events-table td:nth-child(3) { width: 92px !important; }
.scanner-page .radar-events-table th:nth-child(4),
.scanner-page .radar-events-table td:nth-child(4) { width: 66px !important; text-align: center !important; }
.scanner-page .radar-events-table th:nth-child(5),
.scanner-page .radar-events-table td:nth-child(5) { width: 74px !important; }
.scanner-page .radar-events-table th:nth-child(6),
.scanner-page .radar-events-table td:nth-child(6) { width: 76px !important; text-align: center !important; }
.scanner-page .radar-events-table th:nth-child(7),
.scanner-page .radar-events-table td:nth-child(7) { width: 60px !important; text-align: center !important; }
.scanner-page .radar-events-table th:nth-child(8),
.scanner-page .radar-events-table td:nth-child(8) { width: 106px !important; }
.scanner-page .radar-events-table th:nth-child(9),
.scanner-page .radar-events-table td:nth-child(9) { width: 106px !important; }
.scanner-page .radar-events-table th:nth-child(10),
.scanner-page .radar-events-table td:nth-child(10) { width: 84px !important; }
.scanner-page .radar-events-table th:nth-child(11),
.scanner-page .radar-events-table td:nth-child(11) { width: 70px !important; }
.scanner-page .radar-events-table th:nth-child(12),
.scanner-page .radar-events-table td:nth-child(12) { width: 88px !important; }
.scanner-page .radar-events-table th:nth-child(13),
.scanner-page .radar-events-table td:nth-child(13) { width: 88px !important; }
.scanner-page .radar-events-table th:nth-child(14),
.scanner-page .radar-events-table td:nth-child(14) { width: 88px !important; }
.scanner-page .radar-events-table th:nth-child(15),
.scanner-page .radar-events-table td:nth-child(15) { width: 82px !important; }
.scanner-page .radar-events-table th:nth-child(16),
.scanner-page .radar-events-table td:nth-child(16) { width: 86px !important; text-align: right !important; }

.scanner-page .radar-event-row {
  min-height: 74px !important;
}

.scanner-page .radar-event-row td:first-child {
  padding-left: 20px !important;
}

.scanner-page .radar-event-type-cell {
  overflow: visible !important;
}

.scanner-page .radar-event-type {
  width: 108px !important;
  min-height: 42px !important;
  padding: 7px 9px !important;
  border-radius: 14px !important;
  white-space: normal !important;
}

.scanner-page .radar-event-type strong {
  font-size: 0.73rem !important;
  line-height: 1.08 !important;
}

.scanner-page .radar-event-type small {
  font-size: 0.64rem !important;
  margin-top: 2px !important;
}

.scanner-page .radar-events-table .radar-link {
  min-width: 66px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
}

@media (max-width: 1200px) {
  .scanner-page .radar-events-table {
    width: 1420px !important;
    min-width: 1420px !important;
  }
}


/* BATCH152_COLLAPSIBLE_SCANNER_MONITORS_20260522 */

html,
body,
body.scanner-page {
  min-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.scanner-page .radar-insights-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 10px 0 12px;
}

.scanner-page .radar-insight-panel {
  border: 1px solid rgba(80, 121, 170, 0.30);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(8, 13, 27, 0.72)),
    radial-gradient(circle at 18% 0%, rgba(14, 165, 233, 0.10), transparent 28rem);
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255,255,255,0.035);
  overflow: hidden !important;
  width: 100%;
}

.scanner-page .radar-insight-panel[hidden] { display: none !important;
  width: 100%;
}

.scanner-page .radar-insight-summary {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}
.scanner-page .radar-insight-summary::-webkit-details-marker { display: none; }
.scanner-page .radar-insight-summary::after {
  content: 'Open';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(125, 211, 252, 0.28);
  background: rgba(7, 13, 27, 0.62);
  color: rgba(125, 211, 252, 0.96);
  font-size: 0.78rem;
  font-weight: 750;
}
.scanner-page .radar-insight-panel[open] > .radar-insight-summary::after { content: 'Close';
  width: 100%;
}
.scanner-page .radar-insight-summary span {
  display: block;
  color: rgba(226, 232, 240, 0.98);
  font-size: 1rem;
  font-weight: 820;
  letter-spacing: -0.02em;
}
.scanner-page .radar-insight-summary small {
  display: block;
  margin-top: 4px;
  color: rgba(148, 163, 184, 0.90);
  font-size: 0.78rem;
  line-height: 1.35;
  max-width: 78ch;
}
.scanner-page .radar-insight-summary .radar-events-status {
  justify-self: end;
  margin-right: 78px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  color: rgba(203, 213, 225, 0.88);
  background: rgba(2, 6, 23, 0.38);
  font-size: 0.74rem;
  font-weight: 650;
  white-space: nowrap;
}
.scanner-page .radar-insight-body {
  padding: 0 14px 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.10);
}
.scanner-page .radar-insight-panel:not([open]) .radar-insight-body { display: none !important;
  width: 100%;
}

.scanner-page .radar-events-panel,
.scanner-page #marketImbalanceEventsPanel {
  overflow: hidden !important;
  max-height: none !important;
}
.scanner-page .radar-events-body { padding-top: 12px; }
.scanner-page .radar-events-scroller,
.scanner-page .radar-table-scroller:has(.radar-events-table) {
  max-height: min(58vh, 520px) !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
  overscroll-behavior: contain;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(2, 6, 23, 0.18);
}
.scanner-page .radar-events-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(11, 18, 32, 0.98) !important;
  backdrop-filter: blur(12px);
}
.scanner-page .radar-events-table {
  width: 1360px !important;
  min-width: 1360px !important;
  table-layout: fixed !important;
}
.scanner-page .radar-events-table th,
.scanner-page .radar-events-table td {
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  vertical-align: middle !important;
}
.scanner-page .radar-event-type-cell,
.scanner-page .radar-events-table td:nth-child(2) { overflow: visible !important; }
.scanner-page .radar-event-type {
  width: 112px !important;
  max-width: 112px !important;
  min-height: 42px !important;
  display: inline-grid !important;
  place-content: center !important;
  gap: 2px;
  white-space: normal !important;
  text-align: center;
  overflow: hidden !important;
}
.scanner-page .radar-event-type strong,
.scanner-page .radar-event-type small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.scanner-page .radar-events-table th:nth-child(1),
.scanner-page .radar-events-table td:nth-child(1) { width: 104px !important; }
.scanner-page .radar-events-table th:nth-child(2),
.scanner-page .radar-events-table td:nth-child(2) { width: 132px !important; }
.scanner-page .radar-events-table th:nth-child(3),
.scanner-page .radar-events-table td:nth-child(3) { width: 92px !important; }
.scanner-page .radar-events-table th:nth-child(4),
.scanner-page .radar-events-table td:nth-child(4) { width: 76px !important; }
.scanner-page .radar-events-table th:nth-child(5),
.scanner-page .radar-events-table td:nth-child(5) { width: 56px !important; text-align: center !important; }
.scanner-page .radar-events-table th:nth-child(6),
.scanner-page .radar-events-table td:nth-child(6) { width: 72px !important; text-align: center !important; }
.scanner-page .radar-events-table th:nth-child(7),
.scanner-page .radar-events-table td:nth-child(7) { width: 54px !important; text-align: center !important; }
.scanner-page .radar-events-table th:nth-child(n+8):nth-child(-n+15),
.scanner-page .radar-events-table td:nth-child(n+8):nth-child(-n+15) { width: 82px !important; }
.scanner-page .radar-events-table th:nth-child(16),
.scanner-page .radar-events-table td:nth-child(16) { width: 78px !important; text-align: right !important; }
.scanner-page .radar-events-table .radar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
}
@media (max-width: 900px) {
  .scanner-page .radar-insight-summary { grid-template-columns: 1fr; }
  .scanner-page .radar-insight-summary::after,
  .scanner-page .radar-insight-summary .radar-events-status {
    justify-self: start;
    margin-right: 0;
  }
}


/* BATCH153_SCANNER_CLEAN_CARDS_HISTORICAL_PRICE_20260522 */

.scanner-page .radar-col-tags,
.scanner-page #imbalanceEventsStatus,
.scanner-page .radar-events-status {
  display: none !important;
}

.scanner-page .radar-insight-summary {
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 52px !important;
}

.scanner-page .radar-insight-summary small {
  display: none !important;
}

.scanner-page .radar-monitor-card,
.scanner-page .radar-spot-cvd-card,
.scanner-page .radar-accum-card {
  position: relative;
  border-radius: 18px !important;
  border: 1px solid rgba(99, 151, 205, 0.24) !important;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.88), rgba(8, 13, 27, 0.78)),
    radial-gradient(circle at 12% 0%, rgba(14, 165, 233, 0.11), transparent 18rem) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.035) !important;
  overflow: hidden;
}

.scanner-page .radar-monitor-card-head,
.scanner-page .radar-spot-cvd-card-head,
.scanner-page .radar-accum-card-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(112px, 150px) !important;
  align-items: start !important;
  gap: 14px !important;
}

.scanner-page .radar-monitor-card-head > div:first-child strong,
.scanner-page .radar-spot-cvd-card-head > div:first-child strong,
.scanner-page .radar-accum-card-head > div:first-child strong {
  font-size: 1.06rem !important;
  letter-spacing: -0.02em;
}

.scanner-page .radar-card-score-gauge {
  justify-self: end;
  width: min(150px, 100%);
  padding: 9px 10px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(2, 6, 23, 0.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.scanner-page .radar-card-score-gauge-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}

.scanner-page .radar-card-score-gauge-head span {
  color: rgba(148, 163, 184, 0.92);
  font-size: 0.66rem;
  font-weight: 780;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.scanner-page .radar-card-score-gauge-head strong {
  color: rgba(226, 232, 240, 0.98);
  font-size: 1rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.scanner-page .radar-card-score-segments {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
}

.scanner-page .radar-card-score-segments i {
  display: block;
  height: 7px;
  border-radius: 99px;
  background: rgba(100, 116, 139, 0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.025);
}

.scanner-page .radar-card-score-gauge.is-high .radar-card-score-segments i.is-on { background: linear-gradient(90deg, rgba(16,185,129,0.92), rgba(125,211,252,0.78)); }
.scanner-page .radar-card-score-gauge.is-mid .radar-card-score-segments i.is-on { background: linear-gradient(90deg, rgba(59,130,246,0.78), rgba(168,85,247,0.76)); }
.scanner-page .radar-card-score-gauge.is-low .radar-card-score-segments i.is-on { background: linear-gradient(90deg, rgba(244,63,94,0.72), rgba(251,146,60,0.72)); }

.scanner-page .radar-spot-cvd-card > ul,
.scanner-page .radar-accum-card > ul {
  margin-top: 12px !important;
  gap: 7px !important;
}

.scanner-page .radar-spot-cvd-card li,
.scanner-page .radar-accum-card li {
  border-radius: 999px !important;
  padding: 6px 10px !important;
  background: rgba(15, 23, 42, 0.62) !important;
  border: 1px solid rgba(148, 163, 184, 0.16) !important;
}

.scanner-page .radar-loading-row {
  text-align: center !important;
  color: rgba(203, 213, 225, 0.96) !important;
  font-weight: 750 !important;
  letter-spacing: 0.01em;
}

.scanner-page .radar-loading-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border-radius: 999px;
  background: rgba(125, 211, 252, 0.95);
  box-shadow: 0 0 0 0 rgba(125, 211, 252, 0.55);
  animation: radarLoadingPulse 1.1s ease-in-out infinite;
  vertical-align: middle;
}

body.scanner-loading .radar-controls,
body.scanner-loading .radar-context-filters-panel {
  filter: saturate(0.92);
}

@keyframes radarLoadingPulse {
  0% { transform: scale(0.88); box-shadow: 0 0 0 0 rgba(125, 211, 252, 0.45); }
  70% { transform: scale(1); box-shadow: 0 0 0 9px rgba(125, 211, 252, 0); }
  100% { transform: scale(0.88); box-shadow: 0 0 0 0 rgba(125, 211, 252, 0); }
}

.scanner-page .radar-table {
  width: 1540px !important;
  min-width: 1540px !important;
}

.scanner-page .radar-table th:nth-child(18),
.scanner-page .radar-table td:nth-child(18) {
  width: 148px !important;
  text-align: right !important;
}

@media (max-width: 760px) {
  .scanner-page .radar-monitor-card-head,
  .scanner-page .radar-spot-cvd-card-head,
  .scanner-page .radar-accum-card-head {
    grid-template-columns: 1fr !important;
  }
  .scanner-page .radar-card-score-gauge {
    justify-self: stretch;
    width: auto;
  }
}
