/* Implied Lens release polish — canonical final-layer geometry and market colors. */
:root {
  --market-up: #087a35;
  --market-up-strong: #00a84f;
  --market-up-soft: rgba(0, 168, 79, .12);
  --market-down: #c6283d;
  --market-down-strong: #e23d4f;
  --market-down-soft: rgba(226, 61, 79, .12);
  --positive: var(--market-up);
  --negative: var(--market-down);
  --chart-price: #00a84f;
  --chart-positive: #00a84f;
  --chart-negative: #e23d4f;
}

html[data-theme="dark"] {
  --market-up: #00e676;
  --market-up-strong: #00e676;
  --market-up-soft: rgba(0, 230, 118, .13);
  --market-down: #ff5a67;
  --market-down-strong: #ff4d5a;
  --market-down-soft: rgba(255, 77, 90, .14);
  --positive: var(--market-up);
  --negative: var(--market-down);
  --chart-price: #00e676;
  --chart-positive: #00e676;
  --chart-negative: #ff4d5a;
}

/* Stable top-level tab geometry: active state never changes weight or dimensions. */
#main-nav .nav-links {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(68px, 1fr));
  align-items: center;
  gap: 3px !important;
  padding: 4px !important;
  border: 0 !important;
}

#main-nav .nav-tab,
#main-nav .nav-tab:hover,
#main-nav .nav-tab.active-tab,
#main-nav .nav-tab.active-tab:hover {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  min-width: 0;
  padding: 0 9px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

#main-nav .nav-tab + .nav-tab::before { display: none !important; }
#main-nav .nav-tab.active-tab {
  border-color: var(--brand-gold-line) !important;
  box-shadow: inset 0 -2px 0 var(--brand-gold) !important;
}

/* Every tool switch occupies the same box, including active and hover states. */
#view-tool .mobile-sec-tabs {
  align-items: center !important;
  min-height: 54px;
  gap: 6px !important;
  padding: 8px 10px !important;
  scroll-padding-inline: 10px;
  scrollbar-width: none;
}

#view-tool .mobile-sec-tabs::-webkit-scrollbar { display: none; }

#view-tool .mobile-sec-tabs .mst-btn,
#view-tool .mobile-sec-tabs .mst-btn:hover,
#view-tool .mobile-sec-tabs .mst-btn.active {
  box-sizing: border-box;
  flex: 0 0 94px;
  width: 94px;
  height: 36px;
  min-height: 36px;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  justify-content: center;
  font-size: .72rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transform: none !important;
  scroll-snap-align: start;
  box-shadow: none !important;
}

#view-tool .mobile-sec-tabs .mst-btn.active {
  border-color: var(--brand-gold-line) !important;
}

#view-tool .sb-item {
  box-sizing: border-box;
  min-height: 42px;
  border-width: 1px !important;
  font-weight: 600;
}

/* Market direction has one meaning everywhere; gold remains the product brand. */
.up, .pos, .positive,
.price-chg.up, .m-val.up, .dcf-val.up, .proj-val.up, .sc-irr.up,
.fin-positive, .earn-beat, .analyst-upside.up, .fstock-chg.up, .ct-yes, .ntb-pos {
  color: var(--market-up) !important;
}

.dn, .neg, .negative,
.price-chg.dn, .m-val.dn, .dcf-val.dn, .proj-val.dn, .sc-irr.dn,
.fin-negative, .earn-miss, .analyst-upside.dn, .fstock-chg.dn, .ntb-neg {
  color: var(--market-down) !important;
}

.price-chg.up, .earn-badge.beat {
  color: var(--market-up) !important;
  background: var(--market-up-soft) !important;
}

.price-chg.dn, .earn-badge.miss {
  color: var(--market-down) !important;
  background: var(--market-down-soft) !important;
}

.cb-buy, .analyst-gauge-seg.lit.sb { background: var(--chart-positive) !important; }
.cb-sell, .analyst-gauge-seg.lit.ss { background: var(--chart-negative) !important; }
.il-rb-dot.up { background: var(--chart-positive) !important; }
.il-rb-dot.dn { background: var(--chart-negative) !important; }
.il-rb-labels .up { color: var(--market-up) !important; }
.il-rb-labels .dn { color: var(--market-down) !important; }
.edu-path.done::after { background: var(--market-up-strong) !important; }
#fin-error, #advm-error, #earn-error { color: var(--market-down) !important; }

/* Dense research data stays readable and scannable in both themes. */
#view-tool table { font-variant-numeric: tabular-nums; }
#view-tool table th {
  letter-spacing: .055em;
  line-height: 1.25;
}
#view-tool table td {
  line-height: 1.42;
  vertical-align: middle;
}
#view-tool .metric-card .m-val,
#view-tool .price-big,
#view-tool .dcf-val,
#view-tool .proj-val,
#view-tool .sc-irr {
  font-variant-numeric: tabular-nums;
}

.edu-path-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.edu-path { min-height: 172px; }
.edu-term code { white-space: normal; }

:root:not([data-theme="dark"]) #view-tool .tw-market .twm-cell,
:root:not([data-theme="dark"]) #view-tool .tw-tool,
:root:not([data-theme="dark"]) #view-tool .tw-recent-card {
  background: var(--panel) !important;
  border-color: var(--border2) !important;
  box-shadow: 0 10px 28px rgba(49, 39, 24, .06);
}

:root:not([data-theme="dark"]) #view-tool .tw-market .twm-val,
:root:not([data-theme="dark"]) #view-tool .tw-tool strong {
  color: var(--text) !important;
}

:root:not([data-theme="dark"]) #view-tool .tw-market .twm-lbl,
:root:not([data-theme="dark"]) #view-tool .tw-sec-lbl,
:root:not([data-theme="dark"]) #view-tool .tw-tool span,
:root:not([data-theme="dark"]) #view-tool .tw-recent-ttl {
  color: var(--text4) !important;
}

@media (min-width: 961px) and (max-width: 1180px) {
  #main-nav .nav-links {
    display: flex !important;
    overflow-x: auto;
  }
  #main-nav .nav-tab { flex: 0 0 auto; min-width: 72px; }
  .edu-path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  #main-nav .nav-links { display: none !important; }
}

@media (max-width: 760px) {
  #view-tool .mobile-sec-tabs {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
  }
  .edu-path-grid { grid-template-columns: 1fr; }
  .edu-path { min-height: 128px; }
  #main-nav .theme-toggle,
  #main-nav .nav-acct-mobile {
    min-width: 40px;
    min-height: 40px;
  }
  #view-tool .app-chart-toolbar .act-btn,
  #view-tool .app-tf-strip .tf-pill,
  #view-tool .app-tf-strip .tf-tog,
  #view-tool .il-shell-actions button {
    min-height: 38px !important;
  }
  #view-tool .app-content-scroll button { min-height: 36px; }
  #view-tool .mobile-sec-tabs { min-height: 58px; }
  #view-tool .mobile-sec-tabs .mst-btn,
  #view-tool .mobile-sec-tabs .mst-btn:hover,
  #view-tool .mobile-sec-tabs .mst-btn.active {
    height: 40px;
    min-height: 40px;
  }
}
