:root {
  --fiscal-sidebar: #0c111d;
  --fiscal-sidebar-soft: #161d2d;
  --fiscal-bg: #f6f7f9;
  --fiscal-surface: #ffffff;
  --fiscal-surface-soft: #f9fafb;
  --fiscal-ink: #101828;
  --fiscal-muted: #667085;
  --fiscal-subtle: #98a2b3;
  --fiscal-line: #e4e7ec;
  --fiscal-line-strong: #d0d5dd;
  --fiscal-accent: #17a673;
  --fiscal-accent-dark: #0d7f59;
  --fiscal-accent-soft: #e9f8f2;
  --fiscal-blue: #2878d0;
  --fiscal-blue-soft: #edf5ff;
  --fiscal-red: #d14343;
  --fiscal-red-soft: #fff0f0;
  --fiscal-amber: #b7791f;
  --fiscal-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04);
  --fiscal-font: Inter, "SF Pro Text", "PingFang HK", "PingFang TC", "Microsoft JhengHei", sans-serif;
}

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

body {
  background: var(--fiscal-bg) !important;
  color: var(--fiscal-ink) !important;
  font-family: var(--fiscal-font) !important;
  font-variant-numeric: tabular-nums;
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-home,
strong,
b {
  letter-spacing: 0 !important;
}

button,
input,
select,
textarea {
  letter-spacing: 0 !important;
}

::selection {
  background: #bfe9d9;
  color: #071a13;
}

.pos { color: var(--fiscal-accent) !important; }
.neg { color: var(--fiscal-red) !important; }

/* Main application shell */
.page {
  width: auto !important;
  max-width: none !important;
  min-height: 100vh;
  margin: 0 0 0 232px !important;
  padding: 28px 32px 52px !important;
  background: var(--fiscal-bg) !important;
}

.page.home-page {
  width: auto !important;
  margin-left: 232px !important;
  padding: 24px 28px 40px !important;
}

.page:not(.home-page) {
  width: auto !important;
  max-width: none !important;
  min-height: 100vh !important;
  margin: 0 0 0 232px !important;
  padding: 28px 32px 52px !important;
  background: var(--fiscal-bg) !important;
}

.site-top-nav {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 200 !important;
  display: flex !important;
  width: 232px !important;
  max-width: none !important;
  min-height: 100vh !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 18px 14px 16px !important;
  border: 0 !important;
  background: var(--fiscal-sidebar) !important;
  box-shadow: 1px 0 0 rgba(255, 255, 255, .04) !important;
  color: #fff !important;
  backdrop-filter: none !important;
}

.site-top-nav .site-home {
  display: flex !important;
  min-height: 68px !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 12px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
}

.site-top-nav .site-home > span {
  color: #ffffff !important;
  font-size: 21px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

.site-top-nav .site-home b {
  margin-left: 1px;
  color: #55d7aa !important;
  font-weight: 720 !important;
}

.site-top-nav .site-home small {
  color: #7f8a9f;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em !important;
}

.site-top-nav > .site-nav-groups {
  display: block !important;
  min-width: 0 !important;
  flex: 1 0 auto !important;
  overflow: visible !important;
  padding: 18px 0 10px !important;
}

.site-nav-group {
  display: grid;
  gap: 3px;
  margin-bottom: 18px;
}

.site-nav-group > span {
  padding: 0 12px 7px;
  color: #667085;
  font-size: 10px;
  font-weight: 750;
}

.site-top-nav .site-nav-group > a,
.site-top-nav .site-nav-group > a.nav-new,
.site-top-nav .site-nav-group > a.nav-wsc {
  position: relative !important;
  display: grid !important;
  min-height: 40px !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #aeb7c7 !important;
  font-size: 12px !important;
  font-weight: 620 !important;
  transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
}

.site-top-nav .site-nav-group > a::after {
  display: none !important;
}

.site-top-nav .site-nav-group > a svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  color: #7f8a9f !important;
}

.site-top-nav .site-nav-group > a b {
  overflow: hidden;
  font-weight: 620 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-top-nav .site-nav-group > a:hover {
  background: var(--fiscal-sidebar-soft) !important;
  color: #fff !important;
  transform: translateX(2px);
}

.site-top-nav .site-nav-group > a.active {
  background: #1a2a2a !important;
  color: #fff !important;
  box-shadow: inset 2px 0 0 #38c793 !important;
}

.site-top-nav .site-nav-group > a:hover svg,
.site-top-nav .site-nav-group > a.active svg {
  color: #55d7aa !important;
}

.site-nav-utility {
  display: grid;
  flex: 0 0 auto;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .09);
}

.site-top-nav .site-nav-utility .nav-search {
  display: grid !important;
  min-width: 0 !important;
  min-height: 40px !important;
  grid-template-columns: 18px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255, 255, 255, .11) !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, .04) !important;
  color: #c5ccda !important;
  font-size: 11px !important;
}

.site-top-nav .site-nav-utility .nav-search svg {
  width: 15px !important;
  height: 15px !important;
  color: #7f8a9f !important;
}

.site-nav-utility kbd {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 4px;
  background: #161d2d;
  color: #8d98aa;
  font: 10px/1 var(--fiscal-font);
}

.site-nav-utility > div {
  display: grid;
  grid-template-columns: 8px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 0;
  color: #7f8a9f;
  font-size: 9px;
  font-weight: 700;
}

.site-nav-utility > div i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #38c793;
  box-shadow: 0 0 0 3px rgba(56, 199, 147, .12);
}

.site-nav-utility > div b {
  color: #aeb7c7;
  font-size: 9px;
  white-space: nowrap;
}

body.fiscal-standalone {
  box-sizing: border-box !important;
  min-width: 0 !important;
  padding-left: 232px !important;
}

body.fiscal-standalone > .hkex-feature-strip {
  display: none !important;
}

body.fiscal-standalone > .shell,
body.fiscal-standalone > .app-header,
body.fiscal-standalone > .control-panel,
body.fiscal-standalone > .brief-layout,
body.fiscal-standalone > .desk-nav,
body.fiscal-standalone > .desk-hero,
body.fiscal-standalone > .desk-shell,
body.fiscal-standalone > .youtube-desk {
  max-width: min(1380px, calc(100vw - 232px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.fiscal-standalone .topbar {
  top: 0 !important;
  border-radius: 0 !important;
}

body.fiscal-standalone .topbar .brand {
  opacity: .72;
}

/* Fiscal-style market overview */
.canvas-hero {
  display: grid !important;
  width: min(100%, 1380px) !important;
  min-height: 340px !important;
  grid-template-columns: 1.12fr .9fr .92fr !important;
  overflow: hidden !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-surface) !important;
  box-shadow: var(--fiscal-shadow) !important;
}

.canvas-hero > article {
  min-width: 0;
  padding: 26px 28px !important;
}

.canvas-hero > article:first-child { padding-left: 28px !important; }
.canvas-hero > article:last-child { padding-right: 28px !important; }
.canvas-hero > article + article { border-left: 1px solid var(--fiscal-line) !important; }

.canvas-kicker,
.canvas-lead-stock > span,
.canvas-snapshot header span {
  color: var(--fiscal-muted) !important;
  font-size: 11px !important;
  font-weight: 720 !important;
}

.canvas-story h1 {
  max-width: 620px !important;
  margin: 13px 0 14px !important;
  color: var(--fiscal-ink) !important;
  font-size: clamp(28px, 2.4vw, 42px) !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}

.canvas-story > p {
  max-width: 600px !important;
  color: var(--fiscal-muted) !important;
  font-size: 13px !important;
  line-height: 1.72 !important;
}

.canvas-story > a,
.canvas-more,
.canvas-panel header a,
.canvas-panel-link {
  color: var(--fiscal-accent-dark) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.canvas-breadth > i { height: 3px !important; }
.canvas-lead-stock > b {
  color: var(--fiscal-ink) !important;
  font-size: clamp(40px, 4vw, 60px) !important;
  font-weight: 660 !important;
}

.canvas-lead-stock canvas { height: 145px !important; }
.canvas-snapshot > a:not(.canvas-more) { min-height: 42px !important; }

.canvas-grid {
  display: grid !important;
  width: min(100%, 1380px) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.canvas-panel {
  min-height: 390px !important;
  padding: 24px 26px 20px !important;
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-surface) !important;
  box-shadow: var(--fiscal-shadow) !important;
}

.canvas-panel + .canvas-panel { border-left: 1px solid var(--fiscal-line) !important; }
.canvas-panel h2 { color: var(--fiscal-ink) !important; font-size: 15px !important; }
.canvas-market-row:hover { background: var(--fiscal-accent-soft) !important; }
.canvas-capital dl div::after { background: var(--fiscal-accent) !important; }

.canvas-shortcuts {
  width: min(100%, 1380px) !important;
  margin: 18px auto 0 !important;
  padding: 14px 2px !important;
  border-top: 1px solid var(--fiscal-line) !important;
  border-bottom: 1px solid var(--fiscal-line) !important;
}

.home-page footer {
  width: min(100%, 1380px) !important;
  margin: 18px auto 0 !important;
  color: var(--fiscal-subtle) !important;
}

/* Data pages */
.page:not(.home-page) > .site-top-nav {
  width: 232px !important;
  max-width: 232px !important;
  margin: 0 !important;
}

.sub-header,
.dashboard-hero,
.apple-page-hero,
.premium-data-hero {
  width: min(100%, 1320px) !important;
  min-height: 210px !important;
  overflow: hidden !important;
  margin: 0 auto 18px !important;
  padding: 28px 30px !important;
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-surface) !important;
  box-shadow: var(--fiscal-shadow) !important;
}

.page.disclosures-page .dashboard-hero.premium-data-hero,
.page .dashboard-hero.premium-data-hero,
.page .sub-header.apple-page-hero,
.buybacks-page .sub-header.apple-page-hero,
.page.buybacks-page .sub-header.apple-page-hero.premium-data-hero,
.page.southbound-page .sub-header.apple-page-hero.premium-data-hero {
  width: min(100%, 1320px) !important;
  height: auto !important;
  min-height: 210px !important;
  margin: 0 auto 18px !important;
  padding: 28px 30px !important;
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-surface) !important;
  background-image: none !important;
  box-shadow: var(--fiscal-shadow) !important;
  color: var(--fiscal-ink) !important;
}

.dashboard-hero .hero-grid {
  min-height: 152px !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr) !important;
  align-items: end !important;
  gap: 34px !important;
}

.sub-header h1,
.dashboard-hero h1,
.premium-data-hero h1 {
  color: var(--fiscal-ink) !important;
  font-size: clamp(32px, 4vw, 50px) !important;
  font-weight: 720 !important;
  line-height: 1.08 !important;
}

.sub-header p,
.dashboard-hero p,
.premium-data-hero p {
  max-width: 760px !important;
  color: var(--fiscal-muted) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.eyebrow {
  color: var(--fiscal-accent-dark) !important;
  font-size: 10px !important;
  font-weight: 760 !important;
  text-transform: uppercase;
  letter-spacing: .08em !important;
}

.backlink {
  margin-bottom: 18px !important;
  color: var(--fiscal-muted) !important;
  font-size: 11px !important;
}

.sub-visual {
  width: 250px !important;
  height: 120px !important;
  opacity: .62 !important;
}

.search-box {
  min-height: 54px !important;
  padding: 7px 7px 7px 15px !important;
  border: 1px solid var(--fiscal-line-strong) !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
}

.search-box input { color: var(--fiscal-ink) !important; }
.search-box button {
  height: 40px !important;
  padding: 0 20px !important;
  border-radius: 6px !important;
  background: var(--fiscal-accent) !important;
  color: #fff !important;
}

.hero-actions a,
.placeholder-links a,
.section-action,
.record-filters button,
.buyback-filter button,
.buyback-filter a,
.southbound-turnover-tabs button {
  border-radius: 6px !important;
}

.hero-actions a {
  min-height: 34px !important;
  border: 1px solid var(--fiscal-line-strong) !important;
  background: #fff !important;
  color: #344054 !important;
  font-size: 11px !important;
  box-shadow: none !important;
}

.stats,
.stats.compact {
  width: min(100%, 1320px) !important;
  gap: 12px !important;
  margin: 0 auto 18px !important;
}

.stat {
  min-height: 116px !important;
  padding: 20px 22px !important;
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-surface) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .03) !important;
}

.stat-icon { color: var(--fiscal-accent) !important; }
.stat strong {
  color: var(--fiscal-ink) !important;
  font-size: clamp(25px, 3vw, 36px) !important;
  font-weight: 680 !important;
}
.stat span { color: #344054 !important; font-size: 12px !important; }
.stat small { color: var(--fiscal-subtle) !important; font-size: 10px !important; }

.panel,
.focus,
.ranking,
.table-panel,
.today-brief,
.record-filters,
.buyback-company-search,
.southbound-turnover-section {
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-surface) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .025) !important;
}

.panel,
.focus,
.today-brief,
.record-filters,
.buyback-company-search,
.southbound-turnover-section {
  width: min(100%, 1320px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.today-brief {
  padding: 22px !important;
  background-image: none !important;
}

.today-brief::before,
.today-brief::after,
.focus::before,
.focus::after { display: none !important; }

.section-head h2,
.ranking-head h2,
.today-brief h2,
.today-brief h3 {
  color: var(--fiscal-ink) !important;
  font-weight: 700 !important;
}

.section-head span,
.ranking-head p,
.brief-summary,
.today-brief p {
  color: var(--fiscal-muted) !important;
}

.pill {
  border-radius: 5px !important;
  background: var(--fiscal-accent-soft) !important;
  color: var(--fiscal-accent-dark) !important;
}

.focus-grid,
.follow-guide,
.rank-grid,
.southbound-grid,
.southbound-rank-grid,
.southbound-daily-grid {
  width: min(100%, 1320px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.focus-item,
.brief-card,
.follow-guide a,
.quick-days a {
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.focus-item:hover,
.brief-card:hover,
.follow-guide a:hover,
.quick-days a:hover {
  border-color: #9ad7c0 !important;
  background: var(--fiscal-accent-soft) !important;
  transform: translateY(-1px) !important;
}

.rank-grid { gap: 14px !important; }
.ranking { overflow: hidden !important; }
.rank-row { border-color: var(--fiscal-line) !important; }
.rank-row:hover { background: var(--fiscal-surface-soft) !important; }
.rank-row b { color: var(--fiscal-ink) !important; }

.table-panel {
  width: min(100%, 1320px) !important;
  overflow: hidden !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.table-scroll,
.table-wrap { scrollbar-color: #cbd1da transparent; }

table {
  width: 100%;
  border-collapse: collapse !important;
  color: var(--fiscal-ink) !important;
  font-size: 11px !important;
}

thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 42px !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--fiscal-line-strong) !important;
  background: #f8fafc !important;
  color: var(--fiscal-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

tbody td {
  min-height: 46px !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid #eef0f3 !important;
  background: #fff !important;
  color: #344054 !important;
}

tbody tr:hover td { background: #f7fbf9 !important; }
tbody tr:last-child td { border-bottom: 0 !important; }

code {
  color: var(--fiscal-muted) !important;
  font-family: "SFMono-Regular", Consolas, monospace !important;
}

.tag {
  border-radius: 4px !important;
  font-size: 10px !important;
}

.tag.buy { background: var(--fiscal-accent-soft) !important; color: var(--fiscal-accent-dark) !important; }
.tag.sell { background: var(--fiscal-red-soft) !important; color: var(--fiscal-red) !important; }

.record-filters {
  padding: 14px !important;
}

.record-filters button,
.southbound-turnover-tabs button {
  min-height: 32px !important;
  border: 1px solid var(--fiscal-line) !important;
  background: #fff !important;
  color: var(--fiscal-muted) !important;
  font-size: 10px !important;
}

.record-filters button.active,
.southbound-turnover-tabs button.active,
.southbound-turnover-tabs button[aria-selected="true"] {
  border-color: var(--fiscal-accent) !important;
  background: var(--fiscal-accent-soft) !important;
  color: var(--fiscal-accent-dark) !important;
}

.bar-fill,
.buyback-bar .bar-fill { background: var(--fiscal-accent) !important; }
.buyback-bar.active .bar-fill { background: var(--fiscal-blue) !important; }
.southbound-chart .bar.positive span { background: var(--fiscal-accent) !important; }
.southbound-chart .bar.negative span { background: var(--fiscal-red) !important; }

.page footer {
  width: min(100%, 1320px) !important;
  margin: 28px auto 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid var(--fiscal-line) !important;
  color: var(--fiscal-subtle) !important;
  font-size: 10px !important;
}

.canvas-reveal,
.panel,
.focus,
.ranking,
.table-panel {
  animation-duration: .45s !important;
  animation-timing-function: cubic-bezier(.2, .7, .2, 1) !important;
}

/* Shared standalone data modules */
.shell.stock-terminal,
.shell.market-terminal {
  background: var(--fiscal-bg) !important;
  color: var(--fiscal-ink) !important;
}

.topbar,
.desk-nav,
.hkex-feature-strip {
  border-color: var(--fiscal-line) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: none !important;
  color: var(--fiscal-ink) !important;
}

.topbar .brand,
.desk-brand { color: var(--fiscal-ink) !important; }
.topbar .brand b,
.desk-brand b { color: var(--fiscal-accent) !important; }

.global-search,
.global-search input,
.control-panel,
.toolbar,
.search-box,
.radar-search {
  border-color: var(--fiscal-line-strong) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.terminal-hero,
.market-hero,
.premium-module-hero,
.premium-news-hero,
.desk-hero {
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: var(--fiscal-shadow) !important;
  color: var(--fiscal-ink) !important;
}

.terminal-hero::before,
.terminal-hero::after,
.market-hero::before,
.market-hero::after,
.premium-news-hero::before,
.premium-news-hero::after,
.desk-hero::before,
.desk-hero::after { display: none !important; }

.terminal-hero h1,
.market-hero h1,
.premium-news-hero h1,
.desk-hero h1 {
  color: var(--fiscal-ink) !important;
  font-family: var(--fiscal-font) !important;
  font-size: clamp(40px, 5vw, 68px) !important;
  font-weight: 720 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body.fiscal-standalone .premium-news-hero {
  width: calc(100% - 40px) !important;
  max-width: none !important;
  min-height: 220px !important;
  margin: 24px 20px 0 !important;
  padding: 30px 34px !important;
}

body.fiscal-standalone .premium-news-hero h1 {
  max-width: 900px !important;
  margin-top: 12px !important;
  font-size: clamp(40px, 5vw, 66px) !important;
}

body.fiscal-standalone .premium-news-hero h1 span {
  color: var(--fiscal-accent) !important;
  font-family: inherit !important;
}

body.fiscal-standalone .news-hero-kicker,
body.fiscal-standalone .section-kicker,
body.fiscal-standalone .feed-head .eyebrow {
  color: var(--fiscal-accent-dark) !important;
}

body.fiscal-standalone .update-badge {
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: var(--fiscal-sidebar) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.fiscal-standalone .update-badge strong { color: #55d7aa !important; }

body.fiscal-standalone .control-panel {
  margin-top: 12px !important;
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: var(--fiscal-shadow) !important;
}

body.fiscal-standalone .brief-main h2,
body.fiscal-standalone .feed-head h2 {
  color: var(--fiscal-ink) !important;
  font-family: var(--fiscal-font) !important;
  letter-spacing: 0 !important;
}

.hero-panel,
.market-summary article,
.metric,
.signal-board,
.oxmd-panel,
.progress-panel,
.brief-article,
.topic-dossier,
.priority-card,
.source-card {
  border: 1px solid var(--fiscal-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.feature-nav button,
.category-strip button,
.date-strip button,
.category-tabs button,
.controls button,
.toggles button {
  border-radius: 6px !important;
}

.feature-nav button.active,
.category-strip button.active,
.date-strip button.active,
.category-tabs button.active,
.controls button.active,
.toggles button.on {
  border-color: var(--fiscal-accent) !important;
  background: var(--fiscal-accent-soft) !important;
  color: var(--fiscal-accent-dark) !important;
}

@media (max-width: 1180px) {
  .site-top-nav { width: 208px !important; }
  .page:not(.home-page) > .site-top-nav { width: 208px !important; max-width: 208px !important; }
  .page,
  .page.home-page,
  .page:not(.home-page) { margin-left: 208px !important; padding-right: 20px !important; padding-left: 20px !important; }
  .canvas-hero { grid-template-columns: 1.15fr .85fr !important; }
  .canvas-snapshot { grid-column: 1 / -1; border-top: 1px solid var(--fiscal-line); border-left: 0 !important; }
  .canvas-snapshot > a:not(.canvas-more) { grid-template-columns: 1fr .4fr .4fr !important; }
  body.fiscal-standalone { padding-left: 208px !important; }
  body.fiscal-standalone > .shell,
  body.fiscal-standalone > .app-header,
  body.fiscal-standalone > .control-panel,
  body.fiscal-standalone > .brief-layout,
  body.fiscal-standalone > .desk-nav,
  body.fiscal-standalone > .desk-hero,
  body.fiscal-standalone > .desk-shell,
  body.fiscal-standalone > .youtube-desk { max-width: min(1380px, calc(100vw - 208px)) !important; }
}

@media (max-width: 900px) {
  body.fiscal-standalone {
    padding-top: 56px !important;
    padding-left: 0 !important;
  }

  body.fiscal-standalone > .shell,
  body.fiscal-standalone > .app-header,
  body.fiscal-standalone > .control-panel,
  body.fiscal-standalone > .brief-layout,
  body.fiscal-standalone > .desk-nav,
  body.fiscal-standalone > .desk-hero,
  body.fiscal-standalone > .desk-shell,
  body.fiscal-standalone > .youtube-desk {
    max-width: 100% !important;
  }

  body.fiscal-standalone .premium-news-hero {
    width: calc(100% - 20px) !important;
    min-height: 0 !important;
    margin: 10px 10px 0 !important;
    padding: 24px 20px !important;
  }

  body.fiscal-standalone .premium-news-hero h1 {
    font-size: 36px !important;
  }

  .page,
  .page.home-page,
  .page:not(.home-page) {
    width: 100% !important;
    margin: 0 !important;
    padding: 70px 14px 34px !important;
  }

  .site-top-nav {
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    min-height: 56px !important;
    height: 56px !important;
    flex-direction: row !important;
    align-items: stretch !important;
    overflow: hidden !important;
    padding: 0 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
  }

  .page:not(.home-page) > .site-top-nav {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .site-top-nav .site-home {
    min-width: 126px !important;
    min-height: 56px !important;
    justify-content: center !important;
    padding: 0 12px 0 2px !important;
    border: 0 !important;
  }

  .site-top-nav .site-home small { display: none; }
  .site-top-nav .site-home > span { font-size: 17px !important; }

  .site-top-nav > .site-nav-groups {
    display: flex !important;
    min-width: 0 !important;
    flex: 1 !important;
    gap: 2px !important;
    overflow-x: auto !important;
    padding: 0 !important;
    scrollbar-width: none;
  }

  .site-nav-group {
    display: flex !important;
    flex: 0 0 auto !important;
    gap: 2px !important;
    margin: 0 !important;
  }

  .site-nav-group > span,
  .site-nav-utility { display: none !important; }

  .site-top-nav .site-nav-group > a,
  .site-top-nav .site-nav-group > a.nav-new,
  .site-top-nav .site-nav-group > a.nav-wsc {
    display: inline-flex !important;
    min-height: 56px !important;
    gap: 6px !important;
    padding: 0 10px !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  .site-top-nav .site-nav-group > a svg { width: 14px !important; height: 14px !important; }
  .site-top-nav .site-nav-group > a.active { box-shadow: inset 0 -2px 0 #55d7aa !important; }

  .canvas-hero,
  .canvas-grid,
  .dashboard-hero .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .canvas-hero > article + article {
    border-top: 1px solid var(--fiscal-line) !important;
    border-left: 0 !important;
  }

  .canvas-story h1 { font-size: 30px !important; }
  .canvas-panel { min-height: 360px !important; }

  .sub-header,
  .dashboard-hero,
  .apple-page-hero,
  .premium-data-hero {
    min-height: 0 !important;
    padding: 22px 20px !important;
  }

  .dashboard-hero .hero-grid { min-height: 0 !important; }
  .sub-header h1,
  .dashboard-hero h1,
  .premium-data-hero h1 { font-size: 34px !important; }
  .sub-visual { display: none !important; }

  .stats,
  .stats.compact,
  .rank-grid,
  .southbound-grid,
  .southbound-rank-grid,
  .southbound-daily-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 540px) {
  .page,
  .page.home-page { padding-right: 10px !important; padding-left: 10px !important; }
  .canvas-hero > article { padding: 21px 18px !important; }
  .canvas-hero > article:first-child { padding-left: 18px !important; }
  .canvas-hero > article:last-child { padding-right: 18px !important; }
  .canvas-grid { gap: 10px !important; }
  .canvas-panel { min-height: 0 !important; padding: 20px 18px !important; }
  .canvas-shortcuts { align-items: flex-start !important; }
  .canvas-shortcuts div { justify-content: flex-start !important; }
  .hero-actions { gap: 7px !important; }
  .hero-actions a { padding: 0 10px !important; }
  .search-box { grid-template-columns: 18px 1fr !important; }
  .search-box button { grid-column: 1 / -1; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Asset revision: 2026-09-01 dark product system. */
