/* SIGNASTRAT Workstation 2026: function-led composition over boxed pages. */
:root {
  --ws-black: #000;
  --ws-surface: #040506;
  --ws-raised: #080a0d;
  --ws-line: #1b2026;
  --ws-line-strong: #303741;
  --ws-text: #f4f6f8;
  --ws-muted: #9aa3af;
  --ws-comment: #69727e;
  --ws-amber: #f6b84a;
  --ws-cyan: #55c8f5;
  --ws-green: #48d993;
  --ws-red: #ff5f78;
  --ws-violet: #a991ff;
  --ws-mono: "Cascadia Code", "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
}

body {
  color: var(--ws-text);
  background: var(--ws-black);
  font-family: var(--ws-mono);
  font-size: 12px;
  font-variant-numeric: tabular-nums slashed-zero;
}

button,
input,
select { font-family: inherit; }

.global-bar,
.system-line,
.cross-ticker,
.status-bar {
  border-color: var(--ws-line);
  background: #010203;
}

.global-nav a,
.mobile-product-nav a {
  color: var(--ws-muted);
  letter-spacing: .055em;
}

.global-nav a[aria-current="page"],
.mobile-product-nav a[aria-current="page"] {
  color: var(--ws-amber);
  background: #06080a;
  box-shadow: inset 0 -2px var(--ws-amber);
}

.global-nav a:hover { color: var(--ws-text); background: var(--ws-raised); }
.command-launcher label { color: var(--ws-amber); }
.command-launcher input { color: var(--ws-text); font-size: 12px; }
.context-chip,
.ticker-item b { color: var(--ws-cyan); }
.ticker-state { color: var(--ws-green); }

.s5-markets-host {
  color: var(--ws-text);
  background: var(--ws-black);
  font: 11px/1.34 var(--ws-mono);
}

.s5-markets {
  --amber: var(--ws-amber);
  --amber2: #ffd487;
  --cyan: var(--ws-cyan);
  --green: var(--ws-green);
  --red: var(--ws-red);
  --line: var(--ws-line);
  grid-template-rows: 31px 30px 34px minmax(0, 1fr) 21px !important;
  background: var(--ws-black);
}

.s5-market-bar { grid-row: 1; min-width: 0; border-color: var(--ws-line); background: #020304; }
.s5-market-bar > strong {
  min-width: 126px;
  padding: 0 11px;
  color: var(--ws-amber);
  background: transparent;
  font-size: 11px;
  letter-spacing: .08em;
}
.s5-market-bar > strong::before { margin-right: 7px; color: var(--ws-cyan); content: "$"; }
.s5-market-bar button { border-color: var(--ws-line); color: var(--ws-muted); }
.s5-market-bar button.is-active {
  color: var(--ws-amber);
  background: #0c0a06;
  box-shadow: inset 0 -2px var(--ws-amber);
}
.s5-market-bar > span { color: var(--ws-cyan); }
.s5-command { border-color: var(--ws-line); }
.s5-command input { color: var(--ws-text); background: #020304; font-size: 11px; }

.s5-workspace-nav {
  grid-row: 2;
  min-width: 0;
  border-color: var(--ws-line);
  background: #020304;
}
.s5-workspace-nav button {
  min-width: 98px;
  border-color: var(--ws-line);
  color: var(--ws-muted);
  font-size: 10px;
  letter-spacing: .05em;
}
.s5-workspace-nav button[aria-pressed="true"] {
  color: var(--ws-cyan);
  background: #05090c;
  box-shadow: inset 0 -2px var(--ws-cyan);
}

.s5-workstation-strip {
  position: relative;
  z-index: 20;
  grid-row: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  border-bottom: 1px solid var(--ws-line);
  background: #010203;
}

.s5-preset-nav { display: flex; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.s5-preset-nav button {
  min-width: 82px;
  min-height: 33px;
  padding: 0 10px;
  border-width: 0 1px 0 0;
  border-color: var(--ws-line);
  color: var(--ws-comment);
  background: transparent;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  white-space: nowrap;
}
.s5-preset-nav button:hover,
.s5-preset-nav button:focus-visible { color: var(--ws-text); background: var(--ws-raised); }
.s5-preset-nav button[aria-pressed="true"] {
  color: var(--ws-amber);
  background: #0b0905;
  box-shadow: inset 0 -2px var(--ws-amber);
}

.s5-window-launcher { position: relative; min-width: 104px; }
.s5-window-launcher summary {
  display: grid;
  place-items: center;
  height: 33px;
  padding: 0 11px;
  border-left: 1px solid var(--ws-line);
  color: var(--ws-cyan);
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  list-style: none;
}
.s5-window-launcher summary::-webkit-details-marker { display: none; }
.s5-window-launcher[open] summary { color: var(--ws-black); background: var(--ws-cyan); }
.s5-window-launcher-body {
  position: absolute;
  z-index: 90;
  top: 34px;
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, 132px);
  padding: 4px;
  border: 1px solid var(--ws-line-strong);
  background: #030507f5;
  box-shadow: 0 14px 35px #000c;
}
.s5-window-launcher-body button {
  min-height: 32px;
  padding: 0 8px;
  border-width: 0 0 1px 0;
  border-color: var(--ws-line);
  color: var(--ws-muted);
  text-align: left;
}
.s5-window-launcher-body button[aria-pressed="true"] { color: var(--ws-green); }
.s5-window-launcher-body button:hover { color: var(--ws-text); background: #0b0e12; }
.s5-launcher-divider { grid-column: 1 / -1; padding: 7px 8px 4px; color: var(--ws-amber); font-size: 9px; letter-spacing: .08em; }

.s5-market-grid,
[data-power-workspace] { grid-row: 4; min-height: 0; }
.s5-markets > footer { grid-row: 5; border-color: var(--ws-line); background: #010203; color: var(--ws-comment); }

.s5-market-grid {
  display: grid;
  grid-template-columns: 220px minmax(440px, 1.55fr) minmax(250px, .78fr) minmax(220px, .64fr) !important;
  grid-template-rows: minmax(245px, 1.45fr) minmax(120px, .58fr) !important;
  grid-template-areas:
    "mon chart news detail"
    "movers heat rate event";
  gap: 1px;
  background: var(--ws-line);
}

.s5-monitor { grid-area: mon !important; }
.s5-chart { grid-area: chart !important; }
.s5-news { grid-area: news !important; }
.s5-detail { grid-area: detail !important; display: flex; }
.s5-movers { grid-area: movers !important; }
.s5-heatmap { grid-area: heat !important; }
.s5-rates { grid-area: rate !important; }
.s5-events { grid-area: event !important; }
.s5-desk-flow { grid-area: flow !important; }
.s5-panel[hidden] { display: none !important; }

.s5-market-grid.has-live-desk {
  grid-template-rows: minmax(208px, 1.1fr) minmax(98px, .5fr) minmax(158px, .78fr) !important;
  grid-template-areas:
    "mon chart news detail"
    "movers heat rate event"
    "flow flow flow flow";
}
.s5-market-grid.has-live-desk .s5-desk-flow { display: grid; }

.s5-markets[data-workstation-preset="PREMARKET"] .s5-market-grid {
  grid-template-areas:
    "mon chart chart news"
    "movers rate rate event";
}
.s5-markets[data-workstation-preset="OPEN"] .s5-market-grid {
  grid-template-areas:
    "mon chart news detail"
    "movers heat heat event";
}
.s5-markets[data-workstation-preset="CRYPTO"] .s5-market-grid {
  grid-template-areas:
    "mon chart news detail"
    "movers chart event detail";
}
.s5-markets[data-workstation-preset="CRYPTO"] .s5-market-grid.has-live-desk {
  grid-template-rows: minmax(170px, .85fr) minmax(120px, .55fr) minmax(190px, 1fr) !important;
  grid-template-areas:
    "mon chart news detail"
    "movers chart event detail"
    "flow flow flow flow";
}
.s5-markets[data-workstation-preset="MACRO"] .s5-market-grid {
  grid-template-areas:
    "mon chart news event"
    "rate rate news event";
}

.s5-panel,
.s5-desk-flow,
.s5-flow-grid > section,
.s5-multi-pane,
.s5-risk-ticket > * {
  border: 0;
  background: var(--ws-surface);
}
.s5-panel > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  height: 29px;
  flex: 0 0 29px;
  min-width: 0;
  border-bottom: 1px solid var(--ws-line);
  background: #050607;
}
.s5-panel > header b {
  height: 100%;
  padding: 0 7px;
  color: var(--ws-cyan);
  background: transparent;
  font-size: 10px;
}
.s5-panel > header span {
  min-width: 0;
  overflow: hidden;
  color: var(--ws-text);
  font-size: 10px;
  letter-spacing: .055em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.s5-panel > header i { color: var(--ws-comment); font-size: 9px; white-space: nowrap; }
.s5-window-actions { display: flex; align-self: stretch; height: 100%; border-left: 1px solid var(--ws-line); }
.s5-window-actions button,
.s5-window-follow {
  display: grid;
  place-items: center;
  min-width: 29px;
  min-height: 0;
  padding: 0 5px;
  border-width: 0 0 0 1px;
  border-color: var(--ws-line);
  color: var(--ws-comment);
  background: transparent;
  font-size: 8px;
}
.s5-window-follow { color: var(--ws-green); border-left: 0; }
.s5-window-actions button:hover,
.s5-window-actions button:focus-visible { color: var(--ws-text); background: #0c0f13; }
.s5-window-actions button[aria-pressed="true"] { color: var(--ws-amber); }
.s5-panel.is-window-pinned > header { box-shadow: inset 2px 0 var(--ws-amber); }

.s5-panel.is-workstation-maximized {
  position: fixed !important;
  z-index: 120;
  inset: 95px 4px 23px;
  display: flex !important;
  grid-area: auto !important;
  border: 1px solid var(--ws-line-strong);
  box-shadow: 0 0 0 9999px #000d;
}
.s5-panel.is-workstation-maximized .s5-panel-body { background: #010203; }
.s5-panel.is-workstation-maximized .s5-ohlcv { min-height: calc(100vh - 205px); }

.s5-panel-body { scrollbar-color: #414955 #050607; }
.s5-table-head,
[data-monitor] [role="row"] { min-height: 24px; font-size: 10px; }
[data-monitor] [role="row"].is-selected { color: var(--ws-text); background: #071016; box-shadow: inset 2px 0 var(--ws-cyan); }
.s5-watch-tools { padding: 2px; gap: 1px; background: var(--ws-line); }
.s5-watch-tools button { border: 0; background: #050607; font-size: 9px; }
[data-news] article { border-color: #15191e; }
[data-news] article p { color: #dce1e6; font-size: 10px; line-height: 1.38; }
[data-news] article time { color: var(--ws-amber); }
.s5-event-row { border-color: #15191e; }
.s5-event-row b { color: var(--ws-violet); }
.s5-rate-groups b { color: var(--ws-amber); }
.s5-chart-tools { border-color: var(--ws-line); background: #020304; }
.s5-chart-meta { color: var(--ws-muted); }
.s5-chart-meta b { color: var(--ws-text); }
.s5-ohlcv { background: #010203; }
.s5-ohlcv .grid { stroke: #171c22; }
.s5-ohlcv .axis { fill: #adb5c0; font-size: 10px; }

.s5-desk-flow { border-top: 1px solid var(--ws-line-strong); }
.s5-desk-flow > header { border-color: var(--ws-line); background: #030405; }
.s5-desk-flow > header b { color: var(--ws-green); background: transparent; }
.s5-desk-flow > header strong { color: var(--ws-text); }
.s5-desk-flow > header span { color: var(--ws-comment); }
.s5-desk-flow-grid { gap: 1px; background: var(--ws-line); }
.s5-desk-flow-grid > section { background: #020304; }
.s5-desk-flow-grid > section > b { color: var(--ws-cyan); border-color: var(--ws-line); }

.s5-power,
[data-power-workspace] { background: var(--ws-black); }
.s5-power-head,
.s5-flow-grid > section > header { border-color: var(--ws-line); background: #040506; }
.s5-flow-grid,
.s5-multi-grid,
.s5-risk-ticket { gap: 1px; background: var(--ws-line); }

/* Research is a function in the same shell: more data, less decorative framing. */
.s5-companies { background: var(--ws-black); }
.s5-companies .company-head,
.s5-companies .company-security-header,
.s5-companies .company-tabs { border-color: var(--ws-line); background: #030405; }
.s5-companies .company-tabs button { color: var(--ws-muted); }
.s5-companies .company-tabs button[aria-pressed="true"] {
  color: var(--ws-violet);
  background: #090711;
  box-shadow: inset 0 -2px var(--ws-violet);
}
.s5-companies .company-overview-hero,
.s5-companies .company-kpis,
.s5-companies .company-overview-columns,
.s5-companies .company-subpanel,
.s5-companies .company-statement-wrap { border-color: var(--ws-line); background: #030405; }

@media (min-width: 1600px) and (min-height: 850px) {
  .s5-markets-host { font-size: 12px; }
  .s5-market-grid {
    grid-template-columns: 280px minmax(720px, 1.65fr) minmax(340px, .8fr) 285px !important;
    grid-template-rows: minmax(410px, 1.55fr) minmax(175px, .62fr) !important;
  }
  .s5-market-grid.has-live-desk {
    grid-template-rows: minmax(355px, 1.25fr) minmax(150px, .55fr) minmax(220px, .78fr) !important;
  }
  .s5-table-head,
  [data-monitor] [role="row"] { min-height: 27px; font-size: 11px; }
  [data-news] article { padding: 7px 8px; }
  [data-news] article p { font-size: 11px; }
  .s5-panel > header { height: 31px; flex-basis: 31px; }
}

@media (max-width: 1100px) and (min-width: 761px) {
  .s5-markets[data-power-mode="DESK"] { grid-template-rows: 30px 30px 34px minmax(0, 1fr) 20px 48px !important; }
  .s5-markets:not([data-power-mode="DESK"]) { grid-template-rows: 30px 30px 34px minmax(0, 1fr) 20px !important; }
  .s5-market-bar { grid-row: 1; }
  .s5-workspace-nav { grid-row: 2; overflow-x: auto; }
  .s5-workstation-strip { grid-row: 3; }
  .s5-market-grid,
  [data-power-workspace] { grid-row: 4; display: block; }
  .s5-markets > footer { grid-row: 5; }
  .s5-mobile-nav { grid-row: 6; display: flex; overflow-x: auto; }
  .s5-market-grid .s5-panel { display: none !important; height: 100%; }
  .s5-market-grid .s5-panel.is-mobile-active:not([hidden]) { display: flex !important; }
  .s5-mobile-nav button { flex: 0 0 78px; min-height: 46px; }
  .s5-mobile-nav button[aria-pressed="true"] { color: var(--ws-amber); background: #0b0905; box-shadow: inset 0 2px var(--ws-amber); }
}

@media (max-width: 760px) {
  body { font-size: 12px; }
  .s5-shell {
    grid-template-rows: 40px minmax(0, 1fr) 52px !important;
    height: 100dvh;
  }
  .global-bar { grid-row: 1; grid-template-columns: minmax(0, 1fr) auto; }
  .s5-brand { min-width: 0; padding: 0 8px; }
  .s5-brand b { font-size: 11px; letter-spacing: .08em; }
  .s5-brand > span:last-child { min-width: 0; }
  .s5-brand small { display: none; }
  .brand-glyph { width: 25px; height: 25px; }
  .global-clocks { font-size: 9px; }
  .system-line,
  .cross-ticker,
  .status-bar { display: none !important; }
  .route-stage { grid-row: 2 !important; min-height: 0; padding: 0; }
  .mobile-product-nav {
    grid-row: 3 !important;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-top: 1px solid var(--ws-line);
    border-bottom: 0;
    background: #020304;
  }
  .mobile-product-nav a {
    min-height: 52px;
    border-color: var(--ws-line);
    color: var(--ws-muted);
    font-size: 9px;
  }
  .mobile-product-nav a[aria-current="page"] {
    color: var(--ws-amber);
    background: #060708;
    box-shadow: inset 0 2px var(--ws-amber);
  }

  body[data-route="intelligence"] .s5-shell,
  body[data-route="world"] .s5-shell,
  body[data-route="companies"] .s5-shell,
  body[data-route="tools"] .s5-shell,
  body[data-route="wall"] .s5-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 40px minmax(0, 1fr) 52px !important;
  }
  body[data-route="intelligence"] .global-bar,
  body[data-route="world"] .global-bar,
  body[data-route="companies"] .global-bar,
  body[data-route="tools"] .global-bar,
  body[data-route="wall"] .global-bar { grid-column: 1 !important; grid-row: 1 !important; }
  body[data-route="intelligence"] .route-stage,
  body[data-route="world"] .route-stage,
  body[data-route="companies"] .route-stage,
  body[data-route="tools"] .route-stage,
  body[data-route="wall"] .route-stage { grid-column: 1 !important; grid-row: 2 !important; }
  body[data-route="intelligence"] .mobile-product-nav,
  body[data-route="world"] .mobile-product-nav,
  body[data-route="companies"] .mobile-product-nav,
  body[data-route="tools"] .mobile-product-nav,
  body[data-route="wall"] .mobile-product-nav {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100%;
    height: 52px;
  }

  .s5-markets[data-power-mode="DESK"] {
    grid-template-rows: 44px 44px minmax(0, 1fr) 50px !important;
  }
  .s5-markets:not([data-power-mode="DESK"]) {
    grid-template-rows: 44px 44px minmax(0, 1fr) !important;
  }
  .s5-market-bar { grid-row: 1; overflow: hidden; }
  .s5-market-bar > strong,
  .s5-market-bar > span,
  .s5-command { display: none; }
  .s5-market-bar nav { width: 100%; overflow-x: auto; scrollbar-width: none; }
  .s5-market-bar button { flex: 0 0 76px; min-height: 44px; font-size: 10px; }
  .s5-workspace-nav {
    grid-row: 2;
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .s5-workspace-nav button { flex: 0 0 88px; min-width: 88px; min-height: 44px; padding: 0 4px; font-size: 9px; }
  .s5-workstation-strip { display: none; }
  .s5-market-grid,
  [data-power-workspace] { grid-row: 3; display: block; min-height: 0; }
  .s5-markets > footer { display: none; }
  .s5-mobile-nav {
    grid-row: 4;
    display: flex !important;
    overflow-x: auto;
    border-top: 1px solid var(--ws-line);
    background: #020304;
    scrollbar-width: none;
  }
  .s5-market-bar nav::-webkit-scrollbar,
  .s5-workspace-nav::-webkit-scrollbar,
  .s5-mobile-nav::-webkit-scrollbar,
  .s5-chart-tools::-webkit-scrollbar,
  .s5-flow-mobile::-webkit-scrollbar { display: none; }
  .s5-chart-tools,
  .s5-flow-mobile { scrollbar-width: none; }
  .s5-markets:not([data-power-mode="DESK"]) .s5-mobile-nav { display: none !important; }
  .s5-mobile-nav button { flex: 0 0 68px; min-width: 68px; min-height: 50px; color: var(--ws-muted); font-size: 9px; }
  .s5-mobile-nav button[aria-pressed="true"] { color: var(--ws-cyan); background: #05090c; box-shadow: inset 0 2px var(--ws-cyan); }
  .s5-market-grid .s5-panel { display: none !important; width: 100%; height: 100%; }
  .s5-market-grid .s5-panel.is-mobile-active:not([hidden]) { display: flex !important; }
  .s5-panel > header { height: 34px; flex-basis: 34px; }
  .s5-window-follow,
  .s5-window-actions [data-window-pin] { display: none; }
  .s5-window-actions button { min-width: 38px; font-size: 9px; }
  .s5-panel.is-workstation-maximized { inset: 40px 0 52px; }
  .s5-panel.is-workstation-maximized .s5-ohlcv { min-height: calc(100dvh - 205px); }
  .s5-watch-tools button { min-height: 44px; font-size: 9px; }
  .s5-table-head,
  [data-monitor] [role="row"] { min-height: 38px; font-size: 11px; }
  .s5-chart-tools { min-height: 44px; }
  .s5-chart-tools button,
  .s5-chart-tools input { min-height: 40px; }
  .s5-ohlcv { min-height: 340px; }
  [data-news] article { min-height: 58px; padding: 7px; }
  [data-news] article p { font-size: 11px; line-height: 1.45; }
  .s5-event-row { min-height: 44px; font-size: 10px; }
  .s5-flow-mobile button { min-height: 44px; }
  .s5-book-rows > div,
  .s5-flow-row { min-height: 27px; font-size: 10px; }
  .s5-multi-pane > header { min-height: 44px; }
  .s5-multi-chart svg { min-height: 360px; }

  .s5-companies .company-head { min-height: 44px; }
  .s5-companies .company-tabs { min-height: 50px; }
  .s5-companies .company-tabs button { min-height: 48px; font-size: 10px; }
  .s5-companies .company-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .s5-markets *,
  .s5-shell * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
