/*
 * Tradingsniper day theme.
 * This layer is loaded after ui-v1-shell.css so the established night theme
 * remains intact while daylight mode can be reviewed and rolled back alone.
 */

:root {
  --ts-chart-background: #08131c;
  --ts-chart-grid: rgb(89 195 217 / 8%);
  --ts-chart-text: #7890a0;
  --ts-chart-crosshair: rgb(89 195 217 / 28%);
  --ts-chart-label-background: #122633;
}

.ts-theme-toggle {
  display: inline-flex;
  width: 58px !important;
  min-width: 58px !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 8px !important;
  border: 1px solid var(--ts-border) !important;
  border-radius: var(--ts-radius-control) !important;
  color: var(--ts-text-2) !important;
  background: var(--ts-surface-1) !important;
  box-shadow: none !important;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.ts-theme-toggle:hover,
.ts-theme-toggle:focus-visible {
  border-color: var(--ts-interactive-border) !important;
  color: var(--ts-accent-strong) !important;
  background: var(--ts-interactive-hover) !important;
}

.ts-theme-toggle:active { transform: translateY(1px); }

.ts-theme-toggle-icon {
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}

.ts-theme-toggle-icon::before,
.ts-theme-toggle-icon::after {
  position: absolute;
  content: "";
}

.ts-theme-toggle-icon::before {
  inset: 3px;
  border-radius: 50%;
  background: currentColor;
}

.ts-theme-toggle-icon::after {
  top: -4px;
  left: 4px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 16px 0 currentColor, 8px 8px 0 currentColor, -8px 8px 0 currentColor;
}

[data-ui-theme="light"] .ts-theme-toggle-icon {
  overflow: hidden;
  border-width: 0;
  background: currentColor;
}

[data-ui-theme="light"] .ts-theme-toggle-icon::before {
  inset: -2px -3px 2px 4px;
  background: var(--ts-surface-1);
}

[data-ui-theme="light"] .ts-theme-toggle-icon::after { display: none; }

.ts-command-actions.actions {
  grid-template-columns: max-content max-content minmax(220px, 1fr) 36px 58px minmax(132px, max-content);
}

@media (max-width: 1360px) {
  .ts-command-actions.actions {
    grid-template-columns: max-content max-content minmax(160px, 1fr) 36px 58px minmax(124px, max-content);
  }
}

@media (max-width: 900px) {
  .ts-command-actions.actions {
    grid-template-columns: max-content minmax(0, 1fr) 44px 44px 44px;
  }

  .ts-theme-toggle {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
  }

  .ts-theme-toggle-label { display: none; }
}

@media (max-width: 480px) {
  .ts-command-actions.actions {
    grid-template-columns: 102px minmax(0, 1fr) 44px 44px 44px;
  }
}

:root[data-ui-theme="light"] {
  color-scheme: light;
  --ts-canvas: #eaf0f3;
  --ts-canvas-raised: #f2f6f8;
  --ts-surface-1: #f8fafb;
  --ts-surface-2: #edf2f4;
  --ts-surface-3: #e3ebee;
  --ts-border: #cbd7dc;
  --ts-border-strong: #a8bac2;
  --ts-text-1: #12242d;
  --ts-text-2: #415964;
  --ts-text-3: #5c717b;
  --ts-accent: #0e7b90;
  --ts-accent-strong: #075e70;
  --ts-accent-soft: rgb(14 123 144 / 11%);
  --ts-interactive-hover: rgb(14 123 144 / 8%);
  --ts-interactive-selected: rgb(14 123 144 / 14%);
  --ts-interactive-border: rgb(14 123 144 / 42%);
  --ts-warning: #8b5a11;
  --ts-risk: #bd4337;
  --ts-success: #126f50;
  --ts-muted: var(--ts-text-3);
  --ts-text: var(--ts-text-1);
  --ts-font-mono: var(--ts-font-data);
  --ts-chart-background: #f8fafb;
  --ts-chart-grid: rgb(31 87 101 / 10%);
  --ts-chart-text: #607680;
  --ts-chart-crosshair: rgb(15 127 149 / 38%);
  --ts-chart-label-background: #176f81;
  --shadow: 0 10px 28px rgb(32 69 82 / 8%);
}

[data-ui-theme="light"][data-market-context="cn"] {
  --market-up: #c94438;
  --market-down: #147354;
}

[data-ui-theme="light"][data-market-context="us"] {
  --market-up: #147354;
  --market-down: #c94438;
}

[data-ui-theme="light"][data-app-view="volume"] .ts-volume-workspace,
[data-ui-theme="light"][data-app-view="stockDetail"] #stockDetailPage[data-stock-market="us"],
[data-ui-theme="light"][data-app-view="stockDetail"] #stockDetailPage[data-stock-market="hk"] {
  --market-up: #147354;
  --market-down: #c94438;
}

[data-ui-theme="light"][data-app-view="momentum"] .stock-click-row[data-stock-market="cn"],
[data-ui-theme="light"][data-app-view="stockDetail"] #stockDetailPage[data-stock-market="cn"] {
  --market-up: #c94438;
  --market-down: #147354;
}

[data-ui-theme="light"] body {
  background-color: var(--ts-canvas);
  background-image:
    linear-gradient(rgb(39 83 96 / 3.5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(39 83 96 / 3.5%) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* Empty history is an analytical placeholder, not a second data table. */
[data-ui-theme="light"][data-app-view="dashboard"] .ts-history-empty {
  background-image:
    radial-gradient(ellipse at center, var(--ts-surface-1) 0 44%, transparent 78%),
    repeating-linear-gradient(
      to bottom,
      transparent 0,
      transparent 72px,
      rgb(31 87 101 / 5%) 72px,
      rgb(31 87 101 / 5%) 73px
    );
  background-size: 100% 100%, 100% 73px;
}

[data-ui-theme="light"][data-app-view="dashboard"] .ts-theme-history-panel .ts-history-empty {
  background: var(--ts-surface-1);
  background-image: none;
}

[data-ui-theme="light"][data-app-view="dashboard"] .ts-theme-history-panel,
[data-ui-theme="light"][data-app-view="dashboard"] .ts-dashboard-intelligence {
  box-shadow: 0 18px 54px rgb(36 72 84 / 18%);
}

[data-ui-theme="light"] .ts-command-bar.topbar {
  background: rgb(242 246 248 / 94%);
  box-shadow: 0 1px 0 rgb(255 255 255 / 72%);
}

[data-ui-theme="light"] .ts-side-rail { background: var(--ts-canvas-raised); }
[data-ui-theme="light"] .ts-shell-content { background: transparent; }

[data-ui-theme="light"] .data-warning {
  border-color: rgb(139 90 17 / 28%);
  color: #7a4d0d;
  background: #fbf5e8;
}

[data-ui-theme="light"] .status-strip,
[data-ui-theme="light"] .ts-market-tape,
[data-ui-theme="light"] .ts-shell-v1 .panel,
[data-ui-theme="light"] .ts-shell-v1 .widget {
  box-shadow: 0 1px 2px rgb(32 69 82 / 4%);
}

[data-ui-theme="light"] .ts-account-menu,
[data-ui-theme="light"] .ts-feedback-window,
[data-ui-theme="light"] .ts-access-boundary-window {
  box-shadow: 0 22px 62px rgb(32 69 82 / 18%);
}

[data-ui-theme="light"] .ts-account-menu-backdrop,
[data-ui-theme="light"] .ts-access-boundary-backdrop,
[data-ui-theme="light"] .ts-feedback-modal {
  background: rgb(26 45 53 / 24%);
}

[data-ui-theme="light"] .ts-access-boundary-actions button.primary,
[data-ui-theme="light"][data-app-view="admin"] .admin-work-tab.active,
[data-ui-theme="light"] .ts-feedback-window .feedback-actions .mini-action.primary {
  color: #f7fbfc;
  background: var(--ts-accent);
}

[data-ui-theme="light"] .ts-account-menu-actions button.danger:hover,
[data-ui-theme="light"] .ts-account-menu-actions button.danger:focus-visible,
[data-ui-theme="light"][data-app-view="admin"] .admin-restriction,
[data-ui-theme="light"][data-app-view="admin"] .admin-countdown.bad,
[data-ui-theme="light"][data-app-view="admin"] .admin-stat.bad strong,
[data-ui-theme="light"] .ts-feedback-window[data-feedback-state="error"] .feedback-status {
  color: #a53b31 !important;
}

[data-ui-theme="light"][data-app-view="admin"] .admin-risk.normal,
[data-ui-theme="light"][data-app-view="admin"] .admin-countdown.good,
[data-ui-theme="light"][data-app-view="admin"] .admin-password-changed,
[data-ui-theme="light"][data-app-view="admin"] .admin-stat.good strong,
[data-ui-theme="light"] .ts-feedback-window[data-feedback-state="success"] .feedback-status {
  color: #146c4f !important;
}

/* Dashboard and stock research surfaces with translucent night overlays. */
[data-ui-theme="light"][data-app-view="dashboard"] .ts-theme-focus-head .badge.hot { color: #126f50; }
[data-ui-theme="light"][data-app-view="dashboard"] .ts-theme-focus-head .badge.warm {
  border-color: #b0690a;
  color: #704208;
  background: #f1d39d;
  font-weight: 780;
}
[data-ui-theme="light"][data-app-view="dashboard"] .ts-theme-focus-head .badge.cool { color: #ad3f34; }

[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-chart-toolbar,
[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-ohlc {
  background: rgb(248 250 251 / 92%);
}

[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-topbar,
[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-marketbar,
[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-chart-panel,
[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-research-rail {
  background: var(--ts-surface-1);
}

[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-tv-tooltip {
  color: var(--ts-text-1);
  background: rgb(248 250 251 / 98%);
  box-shadow: 0 14px 30px rgb(32 69 82 / 16%);
}

[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-chart-svg > g line,
[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-svg-crosshair {
  stroke: rgb(31 87 101 / 16%);
}

[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-line { stroke: var(--ts-accent); }
[data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-area { fill: rgb(15 127 149 / 9%); }

/* Risk, calendar and weather use the same daylight surface hierarchy. */
[data-ui-theme="light"][data-app-view="risk"] .risk-workspace-header,
[data-ui-theme="light"][data-app-view="risk"] .risk-tool-links,
[data-ui-theme="light"][data-app-view="risk"] .risk-hero,
[data-ui-theme="light"][data-app-view="risk"] .risk-factor-panel,
[data-ui-theme="light"][data-app-view="risk"] .risk-action-panel,
[data-ui-theme="light"][data-app-view="risk"] .risk-panel,
[data-ui-theme="light"][data-app-view="calendar"] .calendar-workspace-header,
[data-ui-theme="light"][data-app-view="calendar"] .calendar-primary-panel,
[data-ui-theme="light"][data-app-view="calendar"] .calendar-side-panel,
[data-ui-theme="light"][data-app-view="calendar"] .calendar-event-panel {
  background: var(--ts-surface-1);
}

[data-ui-theme="light"][data-app-view="risk"] .treasury-mini svg {
  background:
    repeating-linear-gradient(0deg, transparent 0 15px, rgb(108 129 139 / 20%) 15px 16px),
    var(--ts-surface-2);
}

[data-ui-theme="light"][data-app-view="calendar"] .calendar-day.is-outside {
  background: rgb(227 235 238 / 58%);
}

[data-ui-theme="light"][data-app-view="macroWeather"] .macro-metric em {
  background: var(--ts-surface-2);
}

/* Overnight mapping had a self-contained dark palette, so it is explicitly remapped. */
[data-ui-theme="light"][data-app-view="mapping"] .ts-mapping-workspace {
  --mapping-cn-up: #c94438;
  --mapping-cn-down: #147354;
  --mapping-us-up: #147354;
  --mapping-us-down: #c94438;
  color: var(--ts-text-1);
  background:
    linear-gradient(rgb(31 87 101 / 5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(31 87 101 / 5%) 1px, transparent 1px),
    var(--ts-canvas);
  background-size: 52px 52px;
}

[data-ui-theme="light"][data-app-view="mapping"] .mapping-workspace-header,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-scope-bar,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-summary,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-signal-panel {
  border-color: var(--ts-border);
  background: rgb(248 250 251 / 96%);
}

[data-ui-theme="light"][data-app-view="mapping"] .mapping-workspace-title h2,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-summary-copy strong,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-summary-stats strong,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-panel-head h3,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-flow-copy h3,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-empty strong {
  color: var(--ts-text-1);
}

[data-ui-theme="light"][data-app-view="mapping"] .mapping-market-flow span,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-empty,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-evidence-grid dd,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-leaders b {
  color: var(--ts-text-2);
}

[data-ui-theme="light"][data-app-view="mapping"] .mapping-data-status,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-workspace-actions .mini-action,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card.strong,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card.hot,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card.watch,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-evidence-grid dl div,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-leaders > span {
  border-color: var(--ts-border);
  background: var(--ts-surface-2);
}

[data-ui-theme="light"][data-app-view="mapping"] .mapping-flow-copy h3 em,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-evidence-grid header span,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-evidence-grid dt,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-rank,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-score b,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-leaders small {
  color: var(--ts-text-3);
}

[data-ui-theme="light"][data-app-view="mapping"] .mapping-data-status.ready,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card.strong .mapping-score b { color: #146c4f; }
[data-ui-theme="light"][data-app-view="mapping"] .mapping-data-status.stale,
[data-ui-theme="light"][data-app-view="mapping"] .mapping-card.hot .mapping-score b { color: #8b5a11; }

/* TACO chart keeps its risk bands but raises line contrast for a light canvas. */
[data-ui-theme="light"][data-app-view="taco"] .taco-line-halo { stroke: #f8fafb; }
[data-ui-theme="light"][data-app-view="taco"] .taco-line { stroke: #18313b; }
[data-ui-theme="light"][data-app-view="taco"] .taco-grid-line { stroke: rgb(65 89 100 / 18%); }
[data-ui-theme="light"][data-app-view="taco"] .taco-grid-line.zero { stroke: rgb(18 36 45 / 34%); }
[data-ui-theme="light"][data-app-view="taco"] .taco-crosshair { stroke: rgb(18 36 45 / 30%); }
[data-ui-theme="light"][data-app-view="taco"] .taco-active-dot { fill: #18313b; stroke: #f8fafb; }
[data-ui-theme="light"][data-app-view="taco"] .taco-active-tag rect { fill: #edf2f4; stroke: var(--ts-border-strong); }
[data-ui-theme="light"][data-app-view="taco"] .taco-active-tag text { fill: var(--ts-text-1); }
[data-ui-theme="light"][data-app-view="taco"] .taco-chart-legend .total-line-key i { background: #18313b; box-shadow: 0 0 0 1px #f8fafb; }
[data-ui-theme="light"][data-app-view="taco"] .taco-chart-selected { background: rgb(237 242 244 / 72%); }
[data-ui-theme="light"][data-app-view="taco"] .taco-factor-row,
[data-ui-theme="light"][data-app-view="influencer"] .influencer-summary-source-block { border-color: var(--ts-border); }

[data-ui-theme="light"][data-app-view="taco"] .taco-data-status.ready,
[data-ui-theme="light"][data-app-view="taco"] .taco-status-badge.good,
[data-ui-theme="light"][data-app-view="taco"] .taco-summary-stats strong.relief,
[data-ui-theme="light"][data-app-view="taco"] .taco-factor-row b.relief { color: #146c4f; }
[data-ui-theme="light"][data-app-view="taco"] .taco-data-status.stale,
[data-ui-theme="light"][data-app-view="taco"] .taco-status-badge.warn,
[data-ui-theme="light"][data-app-view="taco"] .taco-event-box strong,
[data-ui-theme="light"][data-app-view="taco"] .taco-data-status.unavailable,
[data-ui-theme="light"][data-app-view="taco"] .taco-status-badge.danger,
[data-ui-theme="light"][data-app-view="taco"] .taco-summary-stats strong.pressure,
[data-ui-theme="light"][data-app-view="taco"] .taco-factor-row b.pressure { color: #ad3f34; }

[data-ui-theme="light"][data-app-view="manual"] .manual-frame {
  color-scheme: light;
  background: var(--ts-surface-1);
}

@media (max-width: 900px) {
  [data-ui-theme="light"] .ts-side-rail { background: rgb(242 246 248 / 97%); }
}

@media (prefers-reduced-transparency: reduce) {
  [data-ui-theme="light"] .ts-command-bar.topbar,
  [data-ui-theme="light"] .ts-side-rail,
  [data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-chart-toolbar,
  [data-ui-theme="light"][data-app-view="stockDetail"] .stock-detail-ohlc {
    background: var(--ts-canvas-raised);
  }
}
