.stock-chart-experience {
  --stock-buy: #c6534b;
  --stock-buy-soft: #f6e7e3;
  --stock-sell: #327b5f;
  --stock-sell-soft: #e6f0ea;
  --stock-ink: #222a25;
  --stock-muted: #747d76;
  --stock-line: rgba(44, 54, 47, .10);
  margin: 18px 0;
  color: var(--stock-ink);
}
.stock-event-chain-entry {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 9px;
  width: fit-content;
  margin-top: 16px;
  padding: 10px 13px;
  border: 1px solid rgba(44, 74, 57, .16);
  border-radius: 10px;
  background: rgba(240, 247, 241, .8);
  color: #244a38;
  text-decoration: none;
}
.stock-event-chain-entry span { font-size: 14px; font-weight: 650; }
.stock-event-chain-entry b { color: #68776d; font-size: 11px; font-weight: 500; }
.stock-event-chain-entry i { color: #2c7a58; font-size: 16px; font-style: normal; }
.stock-event-chain-entry:hover { background: #e7f1e9; }
.stock-event-chain-entry:focus-visible { outline: 2px solid #2c7a58; outline-offset: 3px; }
.stock-insight-strip {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
  border: 1px solid var(--stock-line);
  border-radius: 16px;
  background: rgba(255, 253, 248, .86);
}
.stock-insight-strip > div:first-child { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 3px 12px; }
.stock-insight-strip > div:first-child > span { color: #a2772e; font-size: 9px; font-weight: 650; letter-spacing: .1em; }
.stock-insight-strip strong { font-size: 14px; font-weight: 650; }
.stock-insight-strip p { grid-column: 2; margin: 0; color: var(--stock-muted); font-size: 10px; }
.stock-method-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.stock-method-chips span { padding: 6px 9px; border-radius: 999px; background: var(--stock-sell-soft); color: #3f715c; font-size: 9px; white-space: nowrap; }

.stock-owner-module,
.stock-secondary-module {
  border: 1px solid var(--stock-line);
  background: rgba(255, 254, 250, .90);
}
.stock-price-module {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--stock-line);
  border-radius: 16px;
  background: rgba(255, 254, 250, .92);
}
.stock-price-module .stock-chart-head { border-bottom: 1px solid var(--stock-line); }
.stock-price-chart-wrap { position: relative; padding: 8px 16px 0; }
.stock-price-chart-wrap canvas { cursor: crosshair; }
.stock-price-tooltip { position: absolute; z-index: 2; min-width: 150px; padding: 8px 10px; border: 1px solid var(--stock-line); border-radius: 9px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(35,45,39,.12); color: var(--stock-ink); font-size: 9px; }
.stock-price-foot { margin: 0 16px; }
.stock-price-foot span::before { background: #3b8ee8; }
.stock-price-foot .buy-key::before { background: var(--stock-buy); }
.stock-price-foot .sell-key::before { background: var(--stock-sell); }
.stock-price-foot .repurchase-key::before { background: #b68125; }
.stock-price-filters { margin: 12px 18px 0; width: fit-content; }
.stock-price-filters button { font-size: 12px; min-height: 36px; }
.stock-price-sizes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 8px 18px 14px; font-size: 12px; }
.stock-price-sizes span { display: inline-flex; align-items: center; gap: 7px; }
.stock-price-sizes i { display: inline-block; border: 1px solid #9ba69c; border-radius: 50%; background: #e7ebe5; }
.stock-price-sizes small { flex-basis: 100%; color: #616d64; font-size: 11px; }
.stock-price-foot { flex-wrap: wrap; padding-block: 10px; font-size: 12px; }
.stock-price-foot strong { font-size: 11px; }
.stock-price-selection { display: grid; gap: 6px; margin: 0 18px; padding: 14px; background: #f0f3eb; border-radius: 12px; font-size: 13px; overflow-wrap: anywhere; }
.stock-price-selection strong { font-size: 17px; font-weight: 600; }
.stock-price-picker { display: grid; gap: 8px; padding: 14px 18px; font-size: 12px; }
.stock-price-picker select { width: 100%; min-width: 0; max-width: 100%; height: 42px; padding: 6px 10px; border: 1px solid #d6ddd1; border-radius: 8px; background: #fffefa; color: #26312b; font: inherit; }
.stock-price-method { margin: 0; padding: 0 18px 16px; font-size: 11px; line-height: 1.7; color: #616d64; }
.stock-owner-module { margin-top: 12px; border-radius: 18px; overflow: hidden; }
.stock-secondary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.stock-secondary-module { min-width: 0; padding: 16px 18px 10px; border-radius: 16px; }
.stock-chart-head { min-height: 72px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 17px 18px 14px; }
.stock-secondary-module .stock-chart-head { min-height: 66px; padding: 0 0 12px; }
.stock-chart-head > div:first-child > span { display: block; margin-bottom: 4px; color: #a2772e; font-size: 9px; font-weight: 650; letter-spacing: .11em; }
.stock-chart-head h2 { margin: 0; color: var(--stock-ink); font-size: 19px; font-weight: 640; letter-spacing: -.025em; }
.stock-secondary-module .stock-chart-head h2 { font-size: 16px; }
.stock-chart-head p { margin: 4px 0 0; color: var(--stock-muted); font-size: 10px; line-height: 1.5; }
.stock-chart-controls { display: flex; align-items: center; gap: 8px; }
.stock-segmented { display: flex; padding: 3px; border: 1px solid var(--stock-line); border-radius: 10px; background: #f4f3ee; white-space: nowrap; }
.stock-segmented button { min-height: 28px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: #707872; font: inherit; font-size: 9px; cursor: pointer; }
.stock-segmented button.active { background: #273129; color: #fff; box-shadow: 0 4px 10px rgba(39,49,41,.14); }
.stock-segmented button:focus-visible,
.stock-holder-button:focus-visible,
[data-dedup-toggle]:focus-visible { outline: 2px solid rgba(162,119,46,.42); outline-offset: 2px; }

.stock-owner-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); border-top: 1px solid var(--stock-line); }
.stock-holder-list { border-right: 1px solid var(--stock-line); background: rgba(246, 247, 243, .62); }
.stock-holder-title { height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 14px; border-bottom: 1px solid var(--stock-line); }
.stock-holder-title strong { font-size: 11px; font-weight: 620; }
.stock-holder-title button { min-height: 26px; padding: 0 9px; border: 1px solid var(--stock-line); border-radius: 999px; background: #fff; color: var(--stock-muted); font: inherit; font-size: 8px; cursor: pointer; }
.stock-holder-title button.active { background: var(--stock-sell-soft); color: var(--stock-sell); }
.stock-holder-empty { min-height: 156px; display: grid; align-content: center; gap: 6px; padding: 18px 14px; color: var(--stock-muted); }
.stock-holder-empty strong { color: var(--stock-ink); font-size: 11px; font-weight: 620; }
.stock-holder-empty span { font-size: 9px; line-height: 1.55; }
.stock-holder-button {
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "name direction" "date direction";
  gap: 2px 10px;
  align-items: center;
  padding: 8px 14px;
  border: 0;
  border-bottom: 1px solid rgba(44,54,47,.075);
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.stock-holder-button.active { background: linear-gradient(90deg, rgba(230,240,234,.92), rgba(255,255,255,.54)); box-shadow: inset 3px 0 var(--stock-sell); }
.stock-holder-button > span { grid-area: name; min-width: 0; display: flex; align-items: baseline; gap: 7px; }
.stock-holder-button strong { overflow: hidden; font-size: 10px; font-weight: 590; text-overflow: ellipsis; white-space: nowrap; }
.stock-holder-button small { padding: 2px 5px; border-radius: 4px; background: #f1e8d8; color: #8d642c; font-size: 7px; white-space: nowrap; }
.stock-holder-button em { grid-area: date; color: #939a95; font-size: 8px; font-style: normal; }
.stock-holder-button b { grid-area: direction; font-size: 9px; font-weight: 620; }
.stock-holder-button b.buy { color: var(--stock-buy); }
.stock-holder-button b.sell { color: var(--stock-sell); }
.stock-canvas-panel { min-width: 0; padding: 12px 16px 10px; }
.stock-selected-holder { display: flex; align-items: center; gap: 8px; min-height: 28px; }
.stock-selected-holder span { overflow: hidden; font-size: 12px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.stock-selected-holder b { padding: 3px 6px; border-radius: 5px; background: #f1e8d8; color: #8d642c; font-size: 8px; font-weight: 580; }
.stock-chart-canvas { width: 100%; display: block; }
.stock-pulse-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 34px; margin: -2px 0 8px; padding: 7px 10px; border: 1px solid rgba(44,54,47,.07); border-radius: 10px; background: linear-gradient(120deg, rgba(255,255,255,.76), rgba(245,240,230,.58)); }
.stock-pulse-summary span { color: #8b918d; font-size: 8px; letter-spacing: .06em; }
.stock-pulse-summary strong { overflow: hidden; color: #303933; font-size: 9px; font-weight: 590; text-overflow: ellipsis; white-space: nowrap; }
.stock-pulse-summary em { font-size: 9px; font-style: normal; font-weight: 620; white-space: nowrap; }
.stock-pulse-summary .pulse-scope { padding: 2px; }
.stock-pulse-summary .pulse-scope button { min-height: 24px; padding-inline: 8px; font-size: 8px; }
.stock-pulse-summary em.buy { color: #b84640; }
.stock-pulse-summary em.sell { color: #287054; }
.stock-pulse-summary em.neutral { color: #7d847f; }
.stock-latest-table .tag.neutral { border-color: rgba(162,119,46,.18); background: rgba(178,128,43,.09); color: #8b692d; }
.stock-latest-table td.neutral-amount { color: #75633f; }
.stock-chart-foot { min-height: 28px; display: flex; align-items: center; gap: 12px; border-top: 1px solid rgba(44,54,47,.07); color: #858d87; font-size: 8px; }
.stock-chart-foot span::before { content: ""; width: 6px; height: 6px; display: inline-block; margin-right: 5px; border-radius: 50%; background: var(--stock-buy); }
.stock-chart-foot span:nth-child(2)::before { background: var(--stock-sell); }
.stock-chart-foot strong { margin-left: auto; color: #59635c; font-size: 8px; font-weight: 590; }
.stock-price-module .stock-price-foot { font-size: 12px; }
.stock-price-module .stock-price-foot strong { font-size: 11px; }
.stock-price-module .stock-price-foot .price-key::before { background: #3b8ee8; }
.stock-price-module .stock-price-foot .buy-key::before { background: var(--stock-buy); }
.stock-price-module .stock-price-foot .sell-key::before { background: var(--stock-sell); }
.stock-price-module .stock-price-foot .repurchase-key::before { background: #b68125; }
.stock-price-module .stock-price-filters { display: inline-flex; vertical-align: top; margin-right: 0; }
.stock-price-module .stock-price-filters { max-width: calc(100% - 36px); flex-wrap: wrap; white-space: normal; }

.stock-record-filters-collapsed { display: none !important; }
.stock-latest-table { margin-top: 12px !important; }
.stock-latest-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px 10px; border-bottom: 1px solid var(--stock-line); }
.stock-latest-head span { color: #a2772e; font-size: 8px; letter-spacing: .1em; }
.stock-latest-head h2 { margin: 2px 0 0; color: var(--stock-ink); font-size: 16px; font-weight: 640; }
.stock-latest-head button { min-height: 32px; padding: 0 12px; border: 1px solid var(--stock-line); border-radius: 9px; background: #fff; color: #4b554e; font: inherit; font-size: 9px; cursor: pointer; }

@media (max-width: 920px) {
  .stock-insight-strip { align-items: flex-start; }
  .stock-insight-strip > div:first-child { display: block; }
  .stock-insight-strip strong { display: block; margin: 4px 0; }
  .stock-insight-strip p { max-width: 480px; }
  .stock-chart-head { display: block; }
  .stock-chart-controls { margin-top: 10px; flex-wrap: wrap; }
  .stock-owner-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .stock-secondary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .stock-event-chain-entry { grid-template-columns: auto auto; gap: 4px 9px; }
  .stock-event-chain-entry b { grid-column: 1 / -1; }
  .stock-event-chain-entry i { grid-column: 2; grid-row: 1; }
  .stock-chart-experience { margin-inline: -2px; }
  .stock-insight-strip { display: block; padding: 14px; border-radius: 14px; }
  .stock-method-chips { justify-content: flex-start; margin-top: 10px; }
  .stock-owner-module { border-radius: 15px; }
  .stock-chart-head { padding: 15px 14px 12px; }
  .stock-chart-controls { display: grid; }
  .stock-segmented { width: fit-content; }
  .stock-owner-layout { display: block; }
  .stock-holder-list { border-right: 0; border-bottom: 1px solid var(--stock-line); }
  .stock-holder-list > div:last-child { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .stock-holder-button { flex: 0 0 76vw; border-right: 1px solid var(--stock-line); scroll-snap-align: start; }
  .stock-canvas-panel { padding: 10px 8px 8px; }
  .stock-secondary-module { padding: 14px 12px 8px; }
  .stock-price-chart-wrap { padding: 4px 8px 0; }
  .stock-price-foot { margin-inline: 8px; }
  .stock-pulse-summary { grid-template-columns: auto minmax(0, 1fr); }
  .stock-pulse-summary em { grid-column: 1 / -1; }
  .stock-secondary-module .stock-chart-head { display: block; }
  .stock-secondary-module .stock-segmented { margin-top: 8px; }
  .stock-latest-head { padding: 12px; }
  .stock-latest-table .table-scroll { max-height: 430px; }
}

@media (prefers-reduced-motion: reduce) {
  .stock-chart-experience * { scroll-behavior: auto !important; }
}
