@import url("./global-nav.css?v=20260912-search-float-v2");
@import url("./dashboard-blocks.css?v=20260901-heatmap-heading-align-v1");
@import url("./dashboard-components.css?v=20260909-halfyear-weekly-v1");

/*
 * Shared visual control layer for the US, A-share and HK dashboards.
 * The US dashboard is the visual source of truth; A-share and HK converge on it.
 * Keep market-specific layouts in each page stylesheet; keep typography,
 * color, spacing, surfaces and navigation in this file.
 */
:root {
  --bg: #ffffff;
  --panel: #ffffff;
  --text: #201714;
  --muted: #7d6a61;
  --line: #f0d9cf;
  --soft: #fff7f2;
  --orange: #ff6b2a;
  --orange-soft: #fff4ed;
  --red: #d92d20;
  --red-soft: #fff0e8;
  --blue: #2563eb;
  --blue-soft: #eff6ff;
  --green: #087443;
  --green-soft: #ecfdf5;
  --amber: #b45309;
  --amber-soft: #fffbeb;
  --purple: #7c3aed;
  --purple-soft: #f5f3ff;
  --slate: #475569;
  --benchmark: #475569;
  --dashboard-width: 1240px;
  --dashboard-gutter: 80px;
  --dashboard-section-gap: 18px;
  --dashboard-card-radius: 8px;
  --dashboard-font:
    -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB",
    "Microsoft YaHei", sans-serif;
}

body.dashboard-page {
  margin: 0;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: var(--dashboard-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.dashboard-page button,
body.dashboard-page input,
body.dashboard-page select,
body.dashboard-page textarea {
  font-family: inherit;
}

body.dashboard-page .shell {
  width: min(var(--dashboard-width), calc(100% - (var(--dashboard-gutter) * 2)));
  margin: 0 auto;
  padding-bottom: 22px;
}

body.dashboard-page .panel {
  border-color: var(--line);
  border-radius: 0;
  background: var(--panel);
  box-shadow: none;
}

body.dashboard-page .panel-head {
  align-items: flex-start;
  gap: 16px;
  margin-bottom: var(--dashboard-section-gap);
}

body.dashboard-page .panel-head h2,
body.dashboard-page .section-title,
body.dashboard-page .candidate-strategy-tabs button,
body.dashboard-page .candidate-primary-switch button {
  font-family: var(--dashboard-font);
}

body.dashboard-page .panel-head h2,
body.dashboard-page .section-title {
  color: #24120d;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.25;
}

body.dashboard-page :is(.section-note, .portfolio-disclaimer, .holding-sector) {
  color: var(--muted);
}

body.dashboard-page :is(.holding-card, .stock-card, .candidate-card) {
  border-color: var(--line);
  border-radius: var(--dashboard-card-radius);
  background: #ffffff;
  box-shadow: none;
}

body.dashboard-page :is(.stock-symbol-link, .stock-card-symbol, .holding-card h3) {
  color: #24120d;
  font-family: var(--dashboard-font);
}

body.dashboard-page :is(.badge, .pill, .tag, .stock-tags span) {
  font-family: var(--dashboard-font);
}

body.dashboard-page .global-nav {
  min-height: 64px;
  margin-bottom: 28px;
  border-bottom: 0;
  background: #ffffff;
  padding-right: max(var(--dashboard-gutter), calc((100vw - var(--dashboard-width)) / 2));
  padding-left: max(var(--dashboard-gutter), calc((100vw - var(--dashboard-width)) / 2));
  box-shadow: 0 8px 22px rgba(32, 23, 20, 0.06);
  font-family: var(--dashboard-font);
}

body.dashboard-page .global-brand-copy strong {
  color: var(--text);
  font-size: 18px;
  font-weight: 900;
}

body.dashboard-page .global-brand-copy small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

body.dashboard-page .global-nav-links a {
  color: var(--muted);
  font-size: 16px;
  font-weight: 850;
}

body.dashboard-page .global-nav-links a:hover,
body.dashboard-page .global-nav-links a[aria-current="page"] {
  color: var(--orange);
}

body.dashboard-page .global-nav-links a[aria-current="page"]::after {
  height: 4px;
  background: var(--orange);
}

@media (max-width: 900px) {
  :root {
    --dashboard-gutter: 14px;
  }

  body.dashboard-page .shell {
    width: calc(100% - (var(--dashboard-gutter) * 2));
  }

  body.dashboard-page .global-nav {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 720px) {
  body.dashboard-page .global-nav {
    margin-bottom: 20px;
  }

  body.dashboard-page .global-nav-links a {
    font-size: 15px;
  }
}

/*
 * Shared strategy summary row for A-share, HK and US dashboards.
 * This layer is loaded last and is the single owner of vertical alignment.
 */
body.dashboard-page .strategy-summary-row {
  align-items: center;
}

body.dashboard-page .strategy-summary-title {
  display: flex;
  min-width: 0;
  align-items: center;
}

body.dashboard-page .strategy-summary-metrics {
  align-items: baseline;
}

body.dashboard-page .strategy-summary-metrics > :is(.snapshot-date-nav, .metric, span, .stats-history-link) {
  align-self: baseline;
}

body.dashboard-page .strategy-summary-metrics .snapshot-date-nav {
  align-items: center;
}

body.dashboard-page .strategy-summary-metrics .snapshot-date-nav > :is(.metric, span) {
  align-self: baseline;
  align-items: baseline;
}

body.dashboard-page .strategy-summary-metrics .snapshot-date-nav > button {
  position: relative;
  top: -4px;
  align-self: center;
}
