.workspace-switch {
  display: flex;
  align-items: center;
  gap: 2px;
  min-height: 34px;
  padding: 3px 8px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  border-left: 1px solid var(--border);
  background: rgba(2, 8, 9, 0.96);
}

.workspace-switch button {
  min-width: 92px;
  height: 27px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 2px;
  color: var(--muted);
  background: transparent;
  font: 800 10px/1 "Segoe UI", sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}

.workspace-switch button:hover,
.workspace-switch button:focus-visible {
  color: var(--text);
  border-color: var(--line);
  outline: 0;
}

.workspace-switch button.active {
  color: var(--green);
  border-color: var(--line-strong);
  background: rgba(31, 68, 63, 0.34);
}

.stocks-dashboard[hidden],
.main[hidden] { display: none !important; }

.stocks-dashboard {
  display: grid;
  gap: 8px;
  padding: 8px 0 2px;
  contain: layout paint;
}

body.stocks-view::before {
  filter: none;
}

.stocks-radar-head,
.stocks-macro-strip,
.stocks-summary-grid,
.stocks-focus,
.stocks-radar-workspace {
  border: 1px solid var(--border);
  background: rgba(2, 8, 9, 0.94);
}

.stocks-radar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 64px;
  padding: 10px 14px;
}

.stocks-radar-head h1 {
  margin: 0;
  font-size: 19px;
  letter-spacing: 0;
}

.stocks-radar-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.stocks-radar-status {
  display: grid;
  justify-items: end;
  gap: 4px;
  color: var(--muted);
  font-size: 10px;
}

.stocks-radar-status strong { color: var(--green); font-size: 11px; }

.stocks-macro-strip {
  display: grid;
  grid-template-columns: 180px repeat(6, minmax(95px, 1fr));
  min-height: 62px;
}

.stocks-macro-main,
.stocks-macro-metric {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 8px 12px;
  border-right: 1px solid var(--border);
}

.stocks-macro-metric:last-child { border-right: 0; }
.stocks-macro-main span,
.stocks-macro-metric span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.stocks-macro-main strong { font-size: 15px; }
.stocks-macro-main small,
.stocks-macro-metric small { color: var(--muted); font-size: 9px; }
.stocks-macro-metric strong { font-size: 13px; }

.stocks-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stocks-summary-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 4px 8px;
  min-height: 70px;
  padding: 9px 12px;
  border: 0;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  color: var(--text);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.stocks-summary-card:nth-child(4n) { border-right: 0; }
.stocks-summary-card:nth-last-child(-n+4) { border-bottom: 0; }
.stocks-summary-card:hover,
.stocks-summary-card:focus-visible,
.stocks-summary-card.active { background: rgba(28, 48, 48, 0.58); outline: 0; }
.stocks-summary-card.active { box-shadow: inset 0 -2px 0 var(--green); }
.stocks-summary-card span { min-width: 0; color: var(--text); font-size: 11px; font-weight: 800; line-height: 1.2; text-transform: uppercase; overflow-wrap: anywhere; }
.stocks-summary-card strong { grid-column: 2; grid-row: 1 / 3; font-size: 22px; font-variant-numeric: tabular-nums; }
.stocks-summary-card small { grid-column: 1; color: #9eafac; font-size: 9px; }

.stocks-focus {
  display: grid;
  grid-template-columns: minmax(620px, 2fr) minmax(320px, 0.82fr);
  min-height: 530px;
}

.stocks-chart-panel { min-width: 0; border-right: 1px solid var(--border); }
.stocks-chart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
}
.stocks-chart-head h2 { margin: 0; font-size: 16px; text-transform: uppercase; }
.stocks-chart-head span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.stocks-chart-meta { margin-left: auto; text-align: right; }
.stocks-chart-meta strong { color: var(--muted); font-size: 8px; }
.stocks-chart-controls { display: flex; gap: 3px; }
.stocks-timeframe-tabs { display: flex; gap: 3px; margin-right: 5px; }
.stocks-chart-controls .stocks-timeframe-tabs button {
  width: auto;
  min-width: 52px;
  padding: 0 8px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}
.stocks-chart-controls .stocks-timeframe-tabs button.active {
  border-color: var(--green);
  color: var(--green);
  background: rgba(53, 213, 154, 0.08);
}
.stocks-chart-controls button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--text);
  background: #030a0b;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.stocks-chart-controls button:hover,
.stocks-chart-controls button:focus-visible { border-color: var(--green); color: var(--green); outline: 0; }
.stocks-chart-stage { position: relative; height: 470px; min-height: 320px; background: #000; contain: layout paint; }
.stocks-chart-stage > #stocksPriceChart { width: 100%; height: 100%; min-height: inherit; }
.stocks-chart-stage > #stocksPriceChart canvas {
  background: transparent !important;
}
.stocks-liquidity-overlay {
  position: absolute;
  z-index: 3;
  inset: 0;
  width: 100%;
  height: 100%;
  background: transparent !important;
  pointer-events: none;
}

.stocks-radar-workspace { display: block; min-height: 400px; }
.stocks-results { min-width: 0; }

.stocks-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--border);
}
.stocks-list-title { min-width: 0; font-size: 13px; text-transform: uppercase; overflow-wrap: anywhere; }

.stocks-filter-tabs { display: flex; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.stocks-filter-tabs button {
  height: 29px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 2px;
  color: var(--muted);
  background: transparent;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.stocks-filter-tabs button.active { color: var(--green); border-color: var(--line-strong); background: rgba(31, 68, 63, 0.34); }

.stocks-search {
  width: min(220px, 30vw);
  height: 30px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--text);
  background: #020708;
  font-size: 11px;
  outline: 0;
}
.stocks-search:focus { border-color: var(--green); }

.stocks-table-wrap { max-height: 440px; overflow: auto; scrollbar-color: var(--line-strong) #050a0b; }
.stocks-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.stocks-table th:nth-child(1) { width: 18%; }
.stocks-table th:nth-child(2) { width: 14%; }
.stocks-table th:nth-child(3) { width: 10%; }
.stocks-table th:nth-child(4) { width: 12%; }
.stocks-table th:nth-child(5) { width: 7%; }
.stocks-table th:nth-child(6), .stocks-table th:nth-child(7) { width: 10%; }
.stocks-table th:nth-child(8) { width: 12%; }
.stocks-table th:nth-child(9) { width: 7%; }
.stocks-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  height: 31px;
  padding: 0 9px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  background: #050b0c;
  font-size: 8px;
  text-align: left;
  text-transform: uppercase;
}
.stocks-table td { height: 38px; padding: 5px 9px; border-bottom: 1px solid rgba(52, 73, 74, 0.5); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stocks-table tbody tr { cursor: pointer; }
.stocks-table tbody tr:hover,
.stocks-table tbody tr.selected { background: rgba(28, 48, 48, 0.56); }
.stocks-table tbody tr.selected { box-shadow: inset 2px 0 0 var(--green); }
.stocks-table td.stocks-more {
  height: 42px;
  padding: 5px;
  text-align: center;
  overflow: visible;
}
.stocks-more button {
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  background: #061011;
  color: var(--green);
  padding: 7px 14px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.stocks-more button:hover { border-color: var(--green); }
.stocks-symbol { color: var(--text); font-size: 12px; font-weight: 900; }
.stocks-company { display: block; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.stocks-cycle { font-weight: 800; }
.stocks-empty { padding: 45px 16px !important; color: var(--muted); text-align: center; }

.stocks-detail { min-width: 0; background: rgba(3, 9, 10, 0.96); }
.stocks-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-height: 72px; padding: 12px; border-bottom: 1px solid var(--border); }
.stocks-detail-head h2 { margin: 0; font-size: 21px; }
.stocks-detail-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.stocks-detail-price { text-align: right; }
.stocks-detail-price strong { display: block; font-size: 18px; }
.stocks-detail-price span { color: var(--muted); font-size: 10px; }
.stocks-detail-body { display: grid; gap: 0; max-height: 457px; overflow-y: auto; scrollbar-color: var(--line-strong) #050a0b; }
.stocks-detail-section { padding: 11px 12px; border-bottom: 1px solid var(--border); }
.stocks-detail-section h3 { margin: 0 0 8px; color: #aebdbc; font-size: 11px; text-transform: uppercase; }
.stocks-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.stocks-detail-stat { padding: 7px 8px; border: 1px solid rgba(52, 73, 74, 0.62); }
.stocks-detail-stat span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.stocks-detail-stat strong { display: block; margin-top: 3px; font-size: 13px; overflow-wrap: anywhere; }
.stocks-observer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; padding: 6px 0; border-top: 1px solid rgba(52, 73, 74, 0.45); }
.stocks-observer:first-of-type { border-top: 0; }
.stocks-observer b { font-size: 11px; }
.stocks-observer strong { color: var(--green); font-size: 12px; }
.stocks-observer p,
.stocks-reasons { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.stocks-detail-placeholder { padding: 70px 24px; color: var(--muted); font-size: 12px; text-align: center; }

.stocks-positive { color: var(--green) !important; }
.stocks-negative { color: var(--red) !important; }
.stocks-neutral { color: var(--yellow) !important; }

@media (max-width: 1100px) {
  .stocks-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stocks-summary-card:nth-child(4n) { border-right: 1px solid var(--border); }
  .stocks-summary-card:nth-child(3n) { border-right: 0; }
  .stocks-summary-card:nth-last-child(-n+4) { border-bottom: 1px solid var(--border); }
  .stocks-summary-card:nth-last-child(-n+3) { border-bottom: 0; }
  .stocks-macro-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stocks-macro-main { grid-column: span 3; border-bottom: 1px solid var(--border); }
  .stocks-focus { grid-template-columns: minmax(0, 1fr); }
  .stocks-chart-panel { border-right: 0; }
  .stocks-detail { border-top: 1px solid var(--border); }
  .stocks-detail-body { max-height: none; }
}

@media (max-width: 700px) {
  .workspace-switch { position: sticky; z-index: 30; top: 0; padding: 4px; }
  .workspace-switch button { flex: 1 1 0; min-width: 0; }
  .stocks-dashboard { width: 100%; min-width: 0; gap: 6px; padding-top: 5px; overflow: hidden; }
  .stocks-radar-head { display: grid; align-items: start; gap: 8px; min-height: 0; padding: 10px; }
  .stocks-radar-head h1 { font-size: 17px; }
  .stocks-radar-head p { line-height: 1.4; }
  .stocks-radar-status { width: 100%; max-width: none; grid-template-columns: auto minmax(0, 1fr); align-items: center; justify-items: start; text-align: left; }
  .stocks-radar-status span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .stocks-macro-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stocks-macro-main { grid-column: span 3; min-height: 58px; }
  .stocks-macro-metric { min-height: 54px; padding: 7px 8px; }
  .stocks-macro-metric strong { font-size: 12px; }
  .stocks-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stocks-summary-card { min-height: 72px; padding: 8px; }
  .stocks-summary-card:nth-child(3n) { border-right: 1px solid var(--border); }
  .stocks-summary-card:nth-child(2n) { border-right: 0; }
  .stocks-summary-card:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
  .stocks-summary-card:nth-last-child(-n+2) { border-bottom: 0; }
  .stocks-focus { min-height: 0; }
  .stocks-toolbar { align-items: stretch; flex-direction: column; }
  .stocks-filter-tabs { width: 100%; overscroll-behavior-x: contain; }
  .stocks-search { width: 100%; }
  .stocks-table-wrap { width: 100%; max-height: 430px; overflow-x: hidden; }
  .stocks-chart-stage { height: 350px; min-height: 300px; touch-action: none; }
  .stocks-chart-stage > #stocksPriceChart { touch-action: none; }
  .stocks-chart-head { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 8px; min-height: 0; padding: 9px 10px; }
  .stocks-chart-head h2 { font-size: 14px; }
  .stocks-chart-meta { display: none; }
  .stocks-chart-controls { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, 32px); width: 100%; gap: 4px; }
  .stocks-timeframe-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; margin: 0; }
  .stocks-chart-controls .stocks-timeframe-tabs button { width: 100%; min-width: 0; height: 32px; padding: 0 5px; }
  .stocks-chart-controls > button { width: 32px; height: 32px; }
  .stocks-detail-head { min-height: 62px; padding: 10px; }
  .stocks-detail-body { max-height: none; overflow: visible; }
  .stocks-detail-section { padding: 10px; }
  .stocks-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .stocks-detail-stat { min-width: 0; padding: 6px; }
  .stocks-detail-stat strong { font-size: 12px; }
  .stocks-radar-workspace { min-width: 0; min-height: 320px; overflow: hidden; }
  .stocks-table th:nth-child(4), .stocks-table td:nth-child(4),
  .stocks-table th:nth-child(6), .stocks-table td:nth-child(6),
  .stocks-table th:nth-child(7), .stocks-table td:nth-child(7),
  .stocks-table th:nth-child(8), .stocks-table td:nth-child(8),
  .stocks-table th:nth-child(9), .stocks-table td:nth-child(9) { display: none; }
  .stocks-table th:nth-child(1), .stocks-table td:nth-child(1) { width: 30%; }
  .stocks-table th:nth-child(2), .stocks-table td:nth-child(2) { width: 29%; }
  .stocks-table th:nth-child(3), .stocks-table td:nth-child(3) { width: 25%; }
  .stocks-table th:nth-child(5), .stocks-table td:nth-child(5) { width: 16%; text-align: right; }
  .stocks-table th, .stocks-table td { padding-inline: 7px; }
}
