:root {
  --dv-ink: #26312b;
  --dv-muted: #737d76;
  --dv-line: rgba(43, 56, 48, .11);
  --dv-paper: rgba(255, 254, 250, .92);
  --dv-buy: #c45a52;
  --dv-sell: #31765d;
  --dv-gold: #ad8138;
}

.decision-grid,
.announcement-decision-grid {
  width: min(100%, 1380px);
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr);
  gap: 14px;
  margin: 14px auto 18px;
}

.announcement-decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.decision-chart-card,
.decision-list-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--dv-line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.94), var(--dv-paper));
  box-shadow: 0 14px 38px rgba(42, 50, 44, .055), inset 0 1px 0 rgba(255,255,255,.92);
}

.decision-chart-card > header,
.decision-list-card > header {
  min-height: 92px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 19px 12px;
}

.decision-chart-card > header span,
.decision-list-card > header > span {
  display: block;
  margin-bottom: 4px;
  color: var(--dv-gold);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .1em;
}

.decision-chart-card > header h2,
.decision-list-card > header h2 {
  margin: 0;
  color: var(--dv-ink);
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -.025em;
}

.decision-chart-card > header p,
.decision-list-card > header p {
  max-width: 560px;
  margin: 5px 0 0;
  color: var(--dv-muted);
  font-size: 10px;
  line-height: 1.55;
}

.decision-chart-card > header > b {
  flex: 0 0 auto;
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--dv-line);
  border-radius: 999px;
  background: #f3f3ee;
  color: #657069;
  font-size: 9px;
  font-weight: 600;
}

.decision-tabs { flex: 0 0 auto; display: flex; gap: 3px; padding: 3px; border: 1px solid var(--dv-line); border-radius: 10px; background: #f1f2ed; }
.decision-tabs button { min-height: 27px; padding: 0 9px; border: 0; border-radius: 7px; background: transparent; color: #737c76; font: inherit; font-size: 9px; cursor: pointer; }
.decision-tabs button.active { background: #28342e; color: #fff; box-shadow: 0 3px 9px rgba(38,49,43,.16); }

.decision-chart-card canvas { width: 100%; display: block; cursor: pointer; }
.decision-chart-card > footer {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 18px;
  border-top: 1px solid var(--dv-line);
  color: var(--dv-muted);
  font-size: 9px;
}
.decision-chart-card > footer span { display: inline-flex; align-items: center; gap: 5px; }
.decision-chart-card > footer i { width: 7px; height: 7px; border-radius: 50%; }
.decision-chart-card > footer i.red { background: var(--dv-buy); }
.decision-chart-card > footer i.green { background: var(--dv-sell); }
.decision-chart-card > footer i.gold { background: var(--dv-gold); }
.decision-chart-card > footer strong { margin-left: auto; color: #4a554e; font-weight: 600; }

.decision-list-card { padding-bottom: 8px; }
.decision-list-card > header { display: block; min-height: 96px; }
.decision-list-card > div { padding: 0 10px; }
.decision-list-card > div > a,
.southbound-pulse-list section > a {
  min-height: 59px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 7px 9px;
  border-top: 1px solid rgba(43,56,48,.075);
  color: inherit;
  text-decoration: none;
}
.decision-list-card a:hover { background: rgba(240, 242, 237, .64); }
.decision-list-card a > em { color: #9a8053; font-size: 9px; font-style: normal; }
.decision-list-card a > span { min-width: 0; }
.decision-list-card a strong { display: block; overflow: hidden; color: var(--dv-ink); font-size: 12px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.decision-list-card a small { display: block; margin-top: 2px; color: var(--dv-muted); font-size: 8px; font-weight: 500; }
.decision-list-card a > b { color: var(--dv-ink); font-size: 11px; font-weight: 640; text-align: right; white-space: nowrap; }
.decision-list-card a > b.buy { color: var(--dv-buy); }
.decision-list-card a > b.sell { color: var(--dv-sell); }

.southbound-pulse-list > header { display: block; }
.southbound-pulse-list > header .decision-tabs { width: fit-content; margin-top: 10px; }
.southbound-pulse-list > div { padding: 0; }
.southbound-pulse-list section { padding: 0 10px 7px; }
.southbound-pulse-list section h3 { margin: 2px 9px 0; padding: 8px 0 5px; color: #7c847e; font-size: 9px; font-weight: 600; letter-spacing: .08em; }
.southbound-pulse-list section > a { grid-template-columns: minmax(0, 1fr) auto; min-height: 48px; }

.southbound-signal-suite {
  width: min(100%, 1380px);
  margin: 14px auto 20px;
}

.southbound-suite-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  border: 1px solid var(--dv-line);
  border-radius: 18px 18px 0 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(173, 129, 56, .12), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(247, 246, 239, .9));
}

.southbound-suite-head > div:first-child > span,
.southbound-heat-card > header span {
  display: block;
  margin-bottom: 5px;
  color: var(--dv-gold);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .11em;
}

.southbound-suite-head h2,
.southbound-heat-card > header h2 {
  margin: 0;
  color: var(--dv-ink);
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -.03em;
}

.southbound-suite-head p,
.southbound-heat-card > header p {
  max-width: 760px;
  margin: 6px 0 0;
  color: var(--dv-muted);
  font-size: 11px;
  line-height: 1.6;
}

.southbound-insight-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-right: 1px solid var(--dv-line);
  border-bottom: 1px solid var(--dv-line);
  border-left: 1px solid var(--dv-line);
  background: rgba(255, 254, 250, .86);
}

.southbound-insight-strip > a,
.southbound-insight-strip > article {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 14px;
  padding: 13px 18px;
  color: inherit;
  text-decoration: none;
}

.southbound-insight-strip > * + * { border-left: 1px solid var(--dv-line); }
.southbound-insight-strip span { grid-column: 1 / -1; color: var(--dv-muted); font-size: 9px; letter-spacing: .08em; }
.southbound-insight-strip strong { overflow: hidden; color: var(--dv-ink); font-size: 13px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.southbound-insight-strip b { color: var(--dv-ink); font-size: 12px; font-weight: 650; }
.southbound-insight-strip b.buy { color: var(--dv-buy); }
.southbound-insight-strip b.sell { color: var(--dv-sell); }
.southbound-insight-strip small { grid-column: 1 / -1; color: var(--dv-muted); font-size: 9px; }
.southbound-insight-strip > a:hover { background: rgba(239, 241, 235, .66); }

.southbound-signal-suite > .decision-grid {
  width: 100%;
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr);
  margin: 14px 0;
}

.southbound-decision > .decision-chart-card:first-child { position: relative; }
.buyback-matrix-card { position: relative; }
.buyback-sector-card > header { min-height: 112px; }
.buyback-scale {
  width: 58px !important;
  background: linear-gradient(90deg, rgba(196,90,82,.12), rgba(196,90,82,.92)) !important;
}

.southbound-matrix-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
  width: 190px;
  padding: 10px 11px;
  border: 1px solid rgba(43, 56, 48, .14);
  border-radius: 10px;
  background: rgba(255, 254, 250, .97);
  box-shadow: 0 10px 26px rgba(35, 43, 38, .14);
  pointer-events: none;
}

.southbound-matrix-tooltip[hidden] { display: none; }
.southbound-matrix-tooltip strong { display: block; color: var(--dv-ink); font-size: 11px; font-weight: 650; line-height: 1.35; }
.southbound-matrix-tooltip span { display: block; margin-top: 4px; color: #4f5b54; font-size: 9px; }
.southbound-matrix-tooltip small { display: block; margin-top: 3px; color: var(--dv-muted); font-size: 8px; }

.southbound-sector-card > header { min-height: 112px; }

.southbound-quadrant-summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 17px 8px;
}

.southbound-quadrant-summary span {
  padding: 5px 7px;
  border-radius: 7px;
  background: #f3f3ee;
  color: #6c756f;
  font-size: 8px;
  white-space: nowrap;
}

.southbound-quadrant-summary span.buy { background: rgba(196, 90, 82, .09); color: #9f4c46; }
.southbound-quadrant-summary span.sell { background: rgba(49, 118, 93, .09); color: #2c6b55; }
.southbound-quadrant-summary b { margin-left: 3px; font-size: 10px; font-weight: 650; }
.southbound-quadrant-summary small { margin-left: auto; color: var(--dv-muted); font-size: 8px; }

.southbound-heat-card {
  overflow: hidden;
  border: 1px solid var(--dv-line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.94), var(--dv-paper));
  box-shadow: 0 14px 38px rgba(42, 50, 44, .05);
}

.southbound-heat-card > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px 13px;
  border-bottom: 1px solid var(--dv-line);
}

.southbound-heat-card > header h2 { font-size: 18px; }
.heat-legend { flex: 0 0 auto; display: flex; align-items: center; gap: 7px; color: var(--dv-muted); font-size: 8px; }
.heat-legend i { width: 82px; height: 7px; border-radius: 999px; background: linear-gradient(90deg, var(--dv-sell), #ecece6 49%, var(--dv-buy)); }
.heat-legend .sell { color: var(--dv-sell); }
.heat-legend .buy { color: var(--dv-buy); }

.southbound-heat-card > div { padding: 4px 12px 10px; }
.southbound-heat-row {
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(150px, .65fr) minmax(300px, 2fr) minmax(88px, .4fr);
  gap: 15px;
  align-items: center;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(43, 56, 48, .065);
  color: inherit;
  text-decoration: none;
}

.southbound-heat-row:hover { background: rgba(239, 241, 235, .54); }
.southbound-heat-row > span strong { display: block; color: var(--dv-ink); font-size: 11px; font-weight: 620; }
.southbound-heat-row > span small { display: block; margin-top: 2px; color: var(--dv-muted); font-size: 8px; }
.southbound-heat-cells { display: grid; grid-template-columns: repeat(30, minmax(3px, 1fr)); gap: 3px; }
.southbound-heat-cells i { height: 15px; border-radius: 3px; background: #e8e9e4; }
.southbound-heat-cells i.buy { background: rgba(196, 90, 82, var(--strength)); }
.southbound-heat-cells i.sell { background: rgba(49, 118, 93, var(--strength)); }
.southbound-heat-row > b { color: var(--dv-ink); font-size: 11px; font-weight: 650; text-align: right; }
.southbound-heat-row > b.buy { color: var(--dv-buy); }
.southbound-heat-row > b.sell { color: var(--dv-sell); }
.southbound-heat-row > b small { display: block; margin-top: 2px; color: var(--dv-muted); font-size: 7px; font-weight: 500; }

.southbound-stock-detail {
  width: min(100%, 1380px);
  margin: 14px auto 24px;
}

.southbound-stock-mode > [hidden] { display: none !important; }

.southbound-stock-summary {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 20px 22px;
  border: 1px solid var(--dv-line);
  border-radius: 18px 18px 0 0;
  background:
    radial-gradient(circle at 84% 0%, rgba(173, 129, 56, .13), transparent 31%),
    linear-gradient(140deg, rgba(255,255,255,.97), rgba(247,246,239,.92));
}

.southbound-stock-summary div > span { display: block; margin-bottom: 5px; color: var(--dv-gold); font-size: 9px; font-weight: 650; letter-spacing: .1em; }
.southbound-stock-summary h2 { margin: 0; color: var(--dv-ink); font-size: 22px; font-weight: 650; letter-spacing: -.03em; }
.southbound-stock-summary h2.buy { color: var(--dv-buy); }
.southbound-stock-summary h2.sell { color: var(--dv-sell); }
.southbound-stock-summary h2.turn { color: #477993; }
.southbound-stock-summary h2.cool { color: var(--dv-gold); }
.southbound-stock-summary h2.strong,
.southbound-stock-summary h2.active,
.southbound-stock-summary h2.restart { color: var(--dv-buy); }
.southbound-stock-summary h2.pause,
.southbound-stock-summary h2.neutral { color: var(--dv-gold); }
.southbound-stock-summary p { max-width: 720px; margin: 8px 0 0; color: var(--dv-muted); font-size: 11px; line-height: 1.6; }

.southbound-stock-summary-windows { flex: 0 0 auto; display: grid; grid-template-columns: repeat(3, minmax(78px, 1fr)); overflow: hidden; border: 1px solid var(--dv-line); border-radius: 12px; background: rgba(255,255,255,.76); }
.southbound-stock-summary-windows > span { min-width: 84px; margin: 0 !important; padding: 10px 12px; letter-spacing: 0 !important; }
.southbound-stock-summary-windows > span + span { border-left: 1px solid var(--dv-line); }
.southbound-stock-summary-windows small { display: block; color: var(--dv-muted); font-size: 8px; }
.southbound-stock-summary-windows b { display: block; margin-top: 3px; font-size: 11px; font-weight: 650; }
.southbound-stock-summary-windows b.buy { color: var(--dv-buy); }
.southbound-stock-summary-windows b.sell { color: var(--dv-sell); }

.southbound-stock-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-right: 1px solid var(--dv-line);
  border-bottom: 1px solid var(--dv-line);
  border-left: 1px solid var(--dv-line);
  background: rgba(255,254,250,.88);
}
.southbound-stock-kpis article { min-width: 0; padding: 14px 17px; }
.southbound-stock-kpis article + article { border-left: 1px solid var(--dv-line); }
.southbound-stock-kpis span { display: block; color: var(--dv-muted); font-size: 9px; }
.southbound-stock-kpis strong { display: block; margin: 4px 0 2px; color: var(--dv-ink); font-size: 17px; font-weight: 650; white-space: nowrap; }
.southbound-stock-kpis strong.buy { color: var(--dv-buy); }
.southbound-stock-kpis strong.sell { color: var(--dv-sell); }
.southbound-stock-kpis strong i { color: #a6ada8; font-style: normal; font-weight: 450; }
.southbound-stock-kpis small { display: block; color: var(--dv-muted); font-size: 8px; }

.southbound-stock-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  gap: 14px;
  margin: 14px 0;
}
.southbound-stock-visual-grid > * { min-width: 0; }
.southbound-stock-visual-grid canvas { width: 100%; display: block; }

.southbound-stock-rhythm {
  overflow: hidden;
  border: 1px solid var(--dv-line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.94), var(--dv-paper));
  box-shadow: 0 14px 38px rgba(42,50,44,.045);
}
.southbound-stock-rhythm > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 19px 12px;
  border-bottom: 1px solid var(--dv-line);
}
.southbound-stock-rhythm > header span { display: block; margin-bottom: 4px; color: var(--dv-gold); font-size: 9px; font-weight: 650; letter-spacing: .1em; }
.southbound-stock-rhythm > header h2 { margin: 0; color: var(--dv-ink); font-size: 18px; font-weight: 650; letter-spacing: -.025em; }
.southbound-stock-rhythm > header p { margin: 5px 0 0; color: var(--dv-muted); font-size: 10px; }
.southbound-stock-heat { display: grid; grid-template-columns: repeat(30, minmax(5px, 1fr)); gap: 5px; padding: 17px 20px 12px; }
.southbound-stock-heat i { height: 25px; border-radius: 5px; background: #e8e9e4; }
.southbound-stock-heat i.buy { background: rgba(196,90,82,var(--strength)); }
.southbound-stock-heat i.sell { background: rgba(49,118,93,var(--strength)); }
.southbound-stock-day-balance { display: grid; grid-template-columns: auto minmax(120px, 1fr) auto; gap: 10px; align-items: center; padding: 0 20px 16px; color: var(--dv-muted); font-size: 9px; }
.southbound-stock-day-balance > i { height: 7px; overflow: hidden; border-radius: 999px; background: var(--dv-sell); }
.southbound-stock-day-balance > i b { display: block; height: 100%; border-radius: inherit; background: var(--dv-buy); }

.southbound-stock-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.southbound-stock-events { overflow: hidden; border: 1px solid var(--dv-line); border-radius: 16px; background: rgba(255,254,250,.9); }
.southbound-stock-events > header { display: flex; justify-content: space-between; padding: 13px 15px; border-bottom: 1px solid var(--dv-line); }
.southbound-stock-events > header span { color: var(--dv-ink); font-size: 12px; font-weight: 630; }
.southbound-stock-events > header b { color: var(--dv-muted); font-size: 9px; font-weight: 550; }
.southbound-stock-events > div > div { min-height: 55px; display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 8px 14px; border-bottom: 1px solid rgba(43,56,48,.065); }
.southbound-stock-events em { color: #9a8053; font-size: 9px; font-style: normal; }
.southbound-stock-events strong { display: block; color: var(--dv-ink); font-size: 11px; font-weight: 620; }
.southbound-stock-events small { display: block; margin-top: 2px; color: var(--dv-muted); font-size: 8px; }
.southbound-stock-events div > b { font-size: 11px; font-weight: 650; }
.southbound-stock-events.buy div > b { color: var(--dv-buy); }
.southbound-stock-events.sell div > b { color: var(--dv-sell); }
.southbound-stock-method { margin: 10px 2px 0; color: var(--dv-muted); font-size: 9px; line-height: 1.55; }

.buyback-stock-mode > [hidden] { display: none !important; }
.buyback-stock-mode > :not(nav):not(header.sub-header):not(.buyback-stock-detail):not(footer) { display: none !important; }
.buyback-stock-mode .sub-header.apple-page-hero { min-height: 290px; margin-bottom: 14px; }
.buyback-stock-mode .sub-header.apple-page-hero h1 { font-size: clamp(34px, 4vw, 54px); }
.buyback-stock-mode .sub-header.apple-page-hero p { font-size: 14px; }
.buyback-stock-visual-grid { grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); }
.buyback-stock-path-card { position: relative; }
.buyback-stock-path-card > header { align-items: flex-start; }
.buyback-stock-range-tabs { margin-top: 1px; }
.buyback-stock-path-tooltip { width: 176px; }
.buyback-stock-signals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--dv-line);
  border-radius: 15px;
  background: rgba(255,254,250,.82);
  box-shadow: 0 10px 30px rgba(42,50,44,.035);
}
.buyback-stock-signals article { min-width: 0; padding: 12px 16px 14px; }
.buyback-stock-signals article + article { border-left: 1px solid var(--dv-line); }
.buyback-stock-signals span { display: block; color: var(--dv-muted); font-size: 8px; letter-spacing: .06em; }
.buyback-stock-signals strong { display: block; margin-top: 3px; color: var(--dv-ink); font-size: 15px; font-weight: 640; }
.buyback-stock-signals strong.buy { color: var(--dv-buy); }
.buyback-stock-signals strong.sell { color: var(--dv-sell); }
.buyback-stock-signals strong.gold { color: var(--dv-gold); }
.buyback-stock-signals small { display: block; min-height: 14px; margin-top: 2px; color: var(--dv-muted); font-size: 8px; }
.buyback-stock-signals article > i { height: 4px; display: block; margin-top: 9px; overflow: hidden; border-radius: 999px; background: rgba(43,56,48,.07); }
.buyback-stock-signals article > i b { height: 100%; display: block; border-radius: inherit; background: var(--dv-gold); }
.buyback-stock-signals article > i b.buy { background: var(--dv-buy); }
.buyback-stock-signals article > i b.sell { background: var(--dv-sell); }
.buyback-stock-rhythm .southbound-stock-day-balance > i { background: #e8e9e4; }
.buyback-stock-rhythm .southbound-stock-day-balance > i b { background: linear-gradient(90deg, var(--dv-gold), var(--dv-buy)); }
.buyback-stock-event-grid { align-items: stretch; }
.buyback-stock-event-grid > article { min-height: 226px; }
.buyback-price-card { display: flex; flex-direction: column; }
.buyback-price-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 9px 14px 4px; }
.buyback-price-grid > span { min-width: 0; padding: 10px 8px; }
.buyback-price-grid > span:nth-child(even) { border-left: 1px solid rgba(43,56,48,.065); }
.buyback-price-grid > span:nth-child(n+3) { border-top: 1px solid rgba(43,56,48,.065); }
.buyback-price-grid small { display: block; color: var(--dv-muted); font-size: 8px; }
.buyback-price-grid strong { display: block; margin-top: 4px; color: var(--dv-ink); font-size: 11px; font-weight: 620; line-height: 1.35; }
.buyback-price-grid strong.buy { color: var(--dv-buy); }
.buyback-price-grid strong.sell { color: var(--dv-sell); }
.buyback-price-scale { position: relative; height: 38px; margin: 3px 22px 2px; }
.buyback-price-scale > i { position: absolute; top: 17px; right: 0; left: 0; height: 4px; border-radius: 999px; background: linear-gradient(90deg, rgba(196,90,82,.18), rgba(173,129,56,.64), rgba(49,118,93,.18)); }
.buyback-price-scale > b { position: absolute; top: 12px; width: 12px; height: 12px; margin-left: -6px; border: 2px solid #fff; border-radius: 50%; background: var(--dv-gold); box-shadow: 0 1px 5px rgba(43,56,48,.2); }
.buyback-price-scale > b.current { background: var(--dv-ink); }
.buyback-price-scale > b small { position: absolute; top: 15px; left: 50%; color: var(--dv-muted); font-size: 7px; font-weight: 520; white-space: nowrap; transform: translateX(-50%); }
.buyback-price-note { margin: auto 16px 14px; padding: 9px 11px; border-radius: 9px; background: rgba(173,129,56,.07); color: var(--dv-muted); font-size: 9px; line-height: 1.5; }
.buyback-price-empty { margin: 14px; padding: 18px; border-radius: 12px; background: #f3f3ee; }
.buyback-price-empty strong { color: var(--dv-ink); font-size: 12px; font-weight: 620; }
.buyback-price-empty p { margin: 5px 0 0; color: var(--dv-muted); font-size: 9px; line-height: 1.55; }
.buyback-event-empty { display: block !important; min-height: 100px !important; padding: 24px 14px !important; color: var(--dv-muted); font-size: 10px; text-align: center; }

.decision-details > .southbound-grid,
.decision-details > .southbound-daily-section,
.decision-details > .rank-grid {
  width: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
}

.buyback-secondary-grid {
  width: min(100%, 1380px);
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: 14px;
  margin: 0 auto 18px;
}
.buyback-secondary-grid > * { min-width: 0; margin: 0 !important; }
.buyback-secondary-grid .focus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 7px !important; }
.buyback-secondary-grid .focus-item { min-height: 86px !important; padding: 10px !important; }

.decision-details {
  width: min(100%, 1380px);
  margin: 0 auto 18px;
  overflow: hidden;
  border: 1px solid var(--dv-line);
  border-radius: 15px;
  background: rgba(255,254,250,.76);
}
.decision-details > summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 16px;
  cursor: pointer;
  list-style: none;
}
.decision-details > summary::-webkit-details-marker { display: none; }
.decision-details > summary span { min-width: 0; }
.decision-details > summary strong { display: block; color: var(--dv-ink); font-size: 14px; font-weight: 630; }
.decision-details > summary small { display: block; margin-top: 3px; color: var(--dv-muted); font-size: 9px; }
.decision-details > summary b { flex: 0 0 auto; color: #4b6559; font-size: 10px; font-weight: 620; }
.decision-details[open] > summary { border-bottom: 1px solid var(--dv-line); }
.decision-details > .table-panel { margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.turnover-details { margin: 12px 0 0; }
.turnover-details > .table-panel { width: 100% !important; }

.decision-expand {
  width: calc(100% - 20px);
  min-height: 34px;
  margin: 8px 10px 10px;
  border: 1px solid var(--dv-line);
  border-radius: 9px;
  background: #f5f5f0;
  color: #526058;
  font: inherit;
  font-size: 9px;
  cursor: pointer;
}

.buybacks-page[data-decision-ready="true"] > .stats.compact,
.southbound-page[data-decision-ready="true"] > .stats.compact { margin-bottom: 14px !important; }
.buybacks-page[data-decision-ready="true"] > .focus,
.buybacks-page[data-decision-ready="true"] > .buyback-timeline-panel { margin-bottom: 0 !important; }
.southbound-page[data-decision-ready="true"] > .southbound-grid { margin: 0 auto 18px !important; }
.southbound-page[data-decision-ready="true"] .southbound-daily-section,
.southbound-page[data-decision-ready="true"] > .rank-grid { margin-bottom: 18px !important; }

.announcement-decision-grid { margin-top: 0; }
.announcement-decision-grid .decision-chart-card > header { min-height: 98px; }
.announcement-decision-grid .decision-chart-card > footer { justify-content: flex-end; }
.expectation-pulse {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  padding: 7px 12px;
  border-top: 1px solid var(--dv-line);
  font-size: 9px;
}
.expectation-pulse span,
.expectation-pulse b,
.expectation-pulse em { padding: 5px 8px; border-radius: 999px; background: #f2f3ef; color: #5f6962; font-style: normal; font-weight: 580; }
.expectation-pulse .positive { background: #f7e7e4; color: #a94943; }
.expectation-pulse .negative { background: #e5f0eb; color: #286b55; }

.announcement-terminal[data-decision-ready="true"] .announcement-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
}
.announcement-terminal[data-decision-ready="true"] .announcement-item { min-width: 0; margin: 0 !important; }
.announcement-terminal[data-decision-ready="true"] .announcement-item.is-featured { grid-column: 1 / -1; }
.announcement-terminal[data-decision-ready="true"] .announcement-item.is-compact { padding: 16px !important; }
.announcement-item.is-compact h4 { min-height: 42px; margin-bottom: 8px !important; font-size: 14px !important; line-height: 1.45 !important; }
.announcement-readmore { margin-top: 8px; border-top: 1px solid var(--dv-line); }
.announcement-readmore > summary { min-height: 38px; display: flex; align-items: center; justify-content: space-between; color: #3f6858; font-size: 10px; font-weight: 620; cursor: pointer; list-style: none; }
.announcement-readmore > summary::-webkit-details-marker { display: none; }
.announcement-readmore > summary::after { content: "+"; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #eef2ed; color: #526259; font-size: 14px; }
.announcement-readmore[open] > summary::after { content: "−"; }
.announcement-readmore > div { padding-top: 4px; }
.announcement-item.is-compact .announcement-tags { margin-top: 10px !important; }

@media (max-width: 980px) {
  .decision-grid,
  .announcement-decision-grid,
  .buyback-secondary-grid { grid-template-columns: 1fr; }
  .decision-list-card > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
  .southbound-pulse-list > div { display: grid; grid-template-columns: 1fr 1fr; }
  .southbound-signal-suite > .decision-grid { grid-template-columns: 1fr; }
  .southbound-heat-row { grid-template-columns: minmax(130px, .7fr) minmax(250px, 1.6fr) minmax(80px, .4fr); }
  .southbound-stock-visual-grid { grid-template-columns: 1fr; }
  .buyback-stock-visual-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .decision-grid,
  .announcement-decision-grid { margin: 10px auto 14px; gap: 10px; }
  .decision-chart-card,
  .decision-list-card { border-radius: 14px; }
  .decision-chart-card > header,
  .decision-list-card > header { min-height: 0; padding: 14px 13px 9px; }
  .decision-chart-card > header h2,
  .decision-list-card > header h2 { font-size: 16px; }
  .decision-chart-card > header p,
  .decision-list-card > header p { font-size: 9px; }
  .decision-chart-card > footer { padding: 0 12px; gap: 8px; }
  .decision-chart-card > footer strong { display: none; }
  .decision-list-card > div { display: block; }
  .southbound-pulse-list { display: block; }
  .southbound-suite-head { display: block; padding: 15px 14px; border-radius: 14px 14px 0 0; }
  .southbound-suite-head h2 { font-size: 17px; }
  .southbound-suite-head .decision-tabs { width: fit-content; margin-top: 12px; }
  .southbound-insight-strip { grid-template-columns: 1fr; }
  .southbound-insight-strip > * + * { border-top: 1px solid var(--dv-line); border-left: 0; }
  .southbound-signal-suite > .decision-grid { margin: 10px 0; }
  .southbound-quadrant-summary { overflow-x: auto; padding-inline: 12px; }
  .southbound-quadrant-summary small { display: none; }
  .southbound-heat-card { border-radius: 14px; }
  .southbound-heat-card > header { display: block; padding: 14px 13px 10px; }
  .southbound-heat-card > header h2 { font-size: 16px; }
  .heat-legend { margin-top: 10px; }
  .southbound-heat-card > div { padding-inline: 7px; }
  .southbound-heat-row { grid-template-columns: 105px minmax(0, 1fr) 72px; gap: 8px; }
  .southbound-heat-row > span strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .southbound-heat-row > span small { display: none; }
  .southbound-heat-cells { grid-template-columns: repeat(10, minmax(3px, 1fr)); }
  .southbound-heat-cells i:nth-child(-n+20) { display: none; }
  .southbound-heat-cells { gap: 2px; }
  .southbound-stock-summary { display: block; padding: 16px 14px; border-radius: 14px 14px 0 0; }
  .buyback-stock-mode .sub-header.apple-page-hero { min-height: 0; margin-bottom: 10px; }
  .buyback-stock-mode .sub-header.apple-page-hero h1 { font-size: 32px; }
  .southbound-stock-summary h2 { font-size: 20px; }
  .southbound-stock-summary-windows { margin-top: 13px; }
  .southbound-stock-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .southbound-stock-kpis article { padding: 12px; }
  .southbound-stock-kpis article:nth-child(3) { border-top: 1px solid var(--dv-line); border-left: 0; }
  .southbound-stock-kpis article:nth-child(4) { border-top: 1px solid var(--dv-line); }
  .southbound-stock-kpis strong { font-size: 14px; }
  .southbound-stock-visual-grid { gap: 10px; margin: 10px 0; }
  .southbound-stock-rhythm { border-radius: 14px; }
  .southbound-stock-rhythm > header { display: block; padding: 14px 13px 10px; }
  .southbound-stock-rhythm > header h2 { font-size: 16px; }
  .southbound-stock-heat { grid-template-columns: repeat(15, minmax(5px, 1fr)); gap: 4px; padding: 13px; }
  .southbound-stock-heat i { height: 20px; }
  .southbound-stock-day-balance { padding: 0 13px 13px; }
  .southbound-stock-event-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 10px; }
  .buyback-stock-signals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .buyback-stock-signals article { padding: 10px 11px 12px; }
  .buyback-stock-signals article + article { border-left: 1px solid var(--dv-line); }
  .buyback-price-grid { grid-template-columns: 1fr; }
  .buyback-price-grid > span:nth-child(even) { border-left: 0; }
  .buyback-price-grid > span + span { border-top: 1px solid rgba(43,56,48,.065); }
  .buyback-secondary-grid { display: block; }
  .buyback-secondary-grid > * + * { margin-top: 10px !important; }
  .buyback-secondary-grid .focus-grid { grid-template-columns: 1fr !important; }
  .decision-details > summary { min-height: 58px; padding: 9px 12px; }
  .announcement-terminal[data-decision-ready="true"] .announcement-list { grid-template-columns: 1fr; }
  .announcement-terminal[data-decision-ready="true"] .announcement-item.is-featured { grid-column: auto; }
}

@media (max-width: 480px) {
  .buyback-stock-signals { grid-template-columns: 1fr; }
  .buyback-stock-signals article + article { border-top: 1px solid var(--dv-line); border-left: 0; }
  .buyback-stock-signals small { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .decision-chart-card,
  .decision-list-card { scroll-behavior: auto !important; }
}
