.stock-overview { font-size: 12px; line-height: 1.4; }
.stock-overview h2 { font-size: 17px; font-weight: 700; }
.stock-overview h3 { font-size: 12px; font-weight: 650; margin: 0; }
.overview-preview-note { color: #666; font-size: 11px; margin: 4px 0 12px; }
.overview-section { min-width: 0; padding: 12px 0; border-top: 1px solid var(--line); }
.overview-section > header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.overview-section > header a { font-size: 11px; color: var(--accent); white-space: nowrap; }
.overview-muted { font-size: 10px; color: #666; margin: 5px 0; }
.overview-positive { color: #236548; }
.overview-top { display: grid; grid-template-columns: 1fr; gap: 16px; }
.overview-top > .overview-section { border-top: 0; padding-top: 0; }
.overview-last-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin-bottom: 8px; }
.overview-last-price strong { font-size: 27px; letter-spacing: -.8px; }
.overview-last-price small { color: #666; font-size: 10px; }
.overview-values { margin: 4px 0 0; }
.overview-values > div { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; border-bottom: 1px solid #ececec; }
.overview-values dt { min-width: 0; color: #444; }
.overview-values dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; text-align: right; }
.overview-quote .overview-values { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
.overview-quote .overview-values > div { font-size: 11px; }
.stock-overview svg { display: block; width: 100%; overflow: visible; font-family: system-ui; }
.stock-overview svg text { fill: #666; font-size: 11px; }
.overview-performance-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.overview-performance-grid article { padding: 8px 10px; border: 1px solid var(--line); }
.overview-performance-grid dl { margin: 4px 0 0; }
.overview-performance-grid dl > div { display: flex; justify-content: space-between; gap: 6px; }
.overview-performance-grid dt { font-size: 10px; }
.overview-performance-grid dd { margin: 0; font-weight: 650; }
.overview-detail-grid { display: grid; grid-template-columns: 1fr; }
.overview-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.overview-three { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 10px; }
.overview-card { min-width: 0; border: 1px solid var(--line); padding: 10px; }
.overview-card .overview-values { font-size: 11px; }
.overview-recommendations { display: flex; justify-content: center; gap: 10px; margin-top: 8px; }
.overview-recommendation { width: 26px; text-align: center; font-size: 10px; }
.overview-stack { height: 88px; display: flex; flex-direction: column; margin: 3px 0; }
.overview-stack span { display: flex; justify-content: center; align-items: center; font-size: 10px; }
.recommend-other { background: #d6d6d6; }
.recommend-buy { background: #79a942; }
.recommend-hold { background: #efc343; }
.legend-blue { color: #2f75b5; }.legend-green { color: #79a942; }.legend-gold { color: #d49a20; }
.overview-news-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
.overview-news-list article { padding: 9px 0; border-bottom: 1px solid #e2e2e2; }
.overview-news-list a { text-decoration: none; }.overview-news-list a:hover { text-decoration: underline; }
.overview-history-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 12px 0; font-size: 11px; }
.overview-history-pagination a, .overview-history-pagination > span[aria-disabled] { padding: 4px 7px; border: 1px solid var(--line); }
.overview-history-pagination [aria-disabled] { color: #aaa; }
.overview-history-pagination [aria-current] { background: var(--accent-soft); font-weight: 650; }
.overview-history-pagination > span:last-child { margin-left: 5px; color: #666; }
@media(min-width: 960px) {
  .overview-detail-grid { grid-template-columns: 1fr 1fr; gap: 0 18px; }
  .overview-three { grid-template-columns: 1fr 1fr; }
  .overview-three .overview-card:last-child { grid-column: 1/-1; }
  .overview-three .overview-card:last-child .overview-values { display: grid; grid-template-columns: 1fr 1fr; column-gap: 15px; }
}
@media(max-width: 700px) {
  .overview-top { grid-template-columns: 1fr; gap: 12px; }
  .overview-top > .overview-section { border-top: 1px solid var(--line); padding-top: 12px; }
  .overview-performance-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width: 460px) {
  .overview-two, .overview-three { grid-template-columns: 1fr; }
  .overview-news-list { grid-template-columns: 1fr; }
  .overview-quote .overview-values { column-gap: 12px; }
  .overview-quote .overview-values > div { flex-direction: column; gap: 1px; }
  .overview-quote .overview-values dd { text-align: left; }
}

.overview-quote-sessions { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.overview-quote-session .overview-last-price { margin-bottom: 0; gap: 8px; }
.overview-quote-session .overview-positive { font-weight: 700; font-size: 27px; letter-spacing: -.8px; }
.overview-quote-session strong { font-size: 27px; letter-spacing: -.8px; }
.overview-holder-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 11px; }
.overview-holder-table th, .overview-holder-table td { padding: 7px 6px; border: 1px solid var(--line); overflow-wrap: anywhere; vertical-align: middle; }
.overview-holder-table th { text-align: left; font-weight: 400; }
.overview-holder-table thead th { font-weight: 650; background: #f3f3f3; }
.overview-holder-table tbody tr:nth-child(odd) { background: #f0f4f6; }
.overview-holder-table td { text-align: right; font-variant-numeric: tabular-nums; }
.overview-holder-table small { display: block; font-size: inherit; color: #555; }
.overview-holders .overview-section:first-child th:first-child { width: 25%; }
#overview-institutional-holders th:first-child, #overview-mutual-fund-holders th:first-child { width: 34%; }
#overview-insider-holders th:first-child { width: 28%; }
#overview-insider-holders td:nth-child(2) { text-align: left; }
@media(max-width: 460px) { .overview-holder-table { font-size: 10px; } .overview-holder-table th, .overview-holder-table td { padding: 6px 3px; } }

.overview-company-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; }
.overview-company-grid p { margin: 0 0 12px; }
.overview-company-website { font-weight: 650; }
.overview-company-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; align-content: start; }
.overview-company-facts div { min-width: 0; display: flex; flex-direction: column-reverse; justify-content: end; }
.overview-company-facts dt { color: #666; font-size: 10px; }
.overview-company-facts dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
@media(max-width: 560px) { .overview-company-grid { grid-template-columns: 1fr; gap: 12px; } }

/* Recent news owns a complete overview row at every viewport width. */
.overview-detail-grid > #overview-news { grid-column: 1 / -1; }

.overview-company-grid .overview-company-website { margin-bottom: 0; }

.overview-detail-grid > #overview-videos { grid-column: 1 / -1; }
.overview-video-thumbnail { display: block; position: relative; margin: 0; }
.overview-video-thumbnail img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

/* Every overview section owns a complete row; only related cards share space. */
.overview-detail-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
.overview-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.overview-three .overview-card:last-child { grid-column: auto; }
.overview-three .overview-card:last-child .overview-values { display: block; }
.overview-card h3 { font-size: 16px; font-weight: 700; }
.overview-earnings-card > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.overview-earnings-card > header h3 { font-size: 16px; }
.overview-chart-legend { font-size: 10px; min-height: 28px; margin: 6px 0; }
.overview-segment { display: flex; flex-shrink: 0; border: 1px solid var(--line); font-size: 10px; }
.overview-segment button, .overview-segment label, .overview-segment a { position: relative; display: inline-flex; align-items: center; padding: 5px 8px; border: 0; background: #fff; color: inherit; font-family: inherit; font-size: inherit; line-height: 14px; text-decoration: none; white-space: nowrap; cursor: pointer; }
.overview-segment button[aria-pressed=true], .overview-segment label:has(input:checked) { background: #edf5ff; color: #1765c1; }
.overview-segment button:disabled { color: #999; cursor: default; }
.overview-segment label input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.overview-income-annual { display: none; }
.overview-income-card:has(input[value=annual]:checked) .overview-income-annual { display: block; }
.overview-income-card:has(input[value=annual]:checked) .overview-income-quarterly { display: none; }
@media(max-width: 560px) { .overview-three { grid-template-columns: 1fr; } .overview-earnings-card > header { flex-wrap: wrap; } }

.overview-earnings-card svg text[fill] { fill: #087c50; }
.overview-eps-point { cursor: crosshair; }
.overview-eps-point:focus { outline: none; }
.overview-eps-point:focus circle { stroke-width: 3; }

.overview-eps-crosshair { pointer-events: none; }
.overview-eps-crosshair line { stroke: #5d6570; stroke-width: 1; stroke-dasharray: 3 3; }
.overview-earnings-card svg text { font-size: 12px; }
.overview-earnings-card > header h3 { font-size: 17px; }
.overview-earnings-card .overview-chart-legend { font-size: 11px; }

.overview-financial-group { font-size: 12px; margin: 16px 0 5px; }
#overview-insider-holders th:first-child { width: 23%; }

.stock-overview [hidden]{display:none!important}
.overview-segment button[aria-pressed="true"]{background:#e8f2ff;color:#065ee8}

.overview-target-card{border-radius:4px;box-shadow:0 2px 5px #0000000d}
.overview-target-chart{width:100%;height:auto;display:block;margin-top:8px;font-family:inherit;color:#202830}
.overview-target-chart text{fill:currentColor}


.overview-video-list{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px}
.overview-video-list th,.overview-video-list td{padding:10px 8px;text-align:left;vertical-align:middle;border-bottom:1px solid #e0e4e8;overflow-wrap:anywhere}
.overview-video-list thead th{font-weight:650;background:#f3f3f3;padding-top:6px;padding-bottom:6px}
.overview-video-list tbody th{font-size:12px;font-weight:650}
.overview-video-list a{color:inherit;text-decoration:none}
.overview-video-list a:hover{text-decoration:underline}
@media(max-width:460px){.overview-video-list th,.overview-video-list td{padding:8px 4px}.overview-video-list tbody th{font-size:11px}}

.overview-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}
.overview-video-grid article{min-width:0;display:grid;grid-template-rows:subgrid;grid-row:span 3}
.overview-video-grid a{color:inherit;text-decoration:none}
.overview-video-grid a:hover{text-decoration:underline}
.overview-video-grid .overview-video-thumbnail{margin:0}
@media(max-width:560px){.overview-video-grid{grid-template-columns:1fr}}

.overview-video-grid h3{align-self:start}
.overview-video-grid .overview-muted{margin:0;align-self:start}

.dividend-price-chart .dividend-marker{display:none}
.dividend-price-chart:has([data-dividend-toggle]:checked) .dividend-marker{display:inline}
.dividend-price-chart .dividend-marker circle{fill:#087c50;stroke:#fff;stroke-width:1;cursor:help}
.overview-dividend-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;margin:4px 0 8px}
.overview-values dt>a{color:inherit;text-decoration:none}
.overview-values dt>a:hover{text-decoration:underline;color:var(--accent)}
.overview-metric-history th{width:auto}

.overview-disabled-tab{display:inline-flex;align-items:center;padding:8px;color:#999;background:#f5f5f5;border:1px solid #ccc;font-size:11px;cursor:default}

.overview-values dd>small{display:block;font-size:10px;font-weight:400;color:#666}

/* Calculation summaries reserve space for the amount and give explanations the rest. */
.overview-calculation-table .overview-metric-name { width: 30%; }
.overview-calculation-table .overview-metric-value { width: 96px; }
.overview-calculation-table tbody td:nth-child(2) { white-space: nowrap; }
.overview-calculation-table tbody td:nth-child(3) { text-align: left; }
.overview-calculation-table th, .overview-calculation-table td { vertical-align: top; }
@media (max-width: 460px) { .overview-calculation-table .overview-metric-value { width: 80px; } }

/* Chart inspection stays keyboard accessible without selecting a whole SVG bar group. */
.overview-income-point:focus { outline: none; }
.overview-income-point:focus-visible rect { stroke: #172b45; stroke-width: 1; }
.overview-income-point { user-select: none; }

.corporate-action-marker{display:none}
.corporate-action-marker circle{stroke:#fff;stroke-width:1;cursor:help}
.dividend-price-chart:has([data-action-toggle="dividend"][aria-pressed="true"]) .action-dividend{display:inline}
.action-dividend circle{fill:#087c50}
.dividend-price-chart:has([data-action-toggle="rights"][aria-pressed="true"]) .action-rights{display:inline}
.action-rights circle{fill:#7955a6}
.dividend-price-chart:has([data-action-toggle="stock"][aria-pressed="true"]) .action-stock{display:inline}
.action-stock circle{fill:#2b6cb0}
.dividend-price-chart:has([data-action-toggle="special"][aria-pressed="true"]) .action-special{display:inline}
.action-special circle{fill:#d65b22}
.dividend-price-chart:has([data-action-toggle="other"][aria-pressed="true"]) .action-other{display:inline}
.action-other circle{fill:#666}

body{margin:0;background:#f5f5f5;color:#222;font:14px system-ui,sans-serif}.site-header,main,.legal-links{max-width:1000px;margin:auto;padding:24px}.site-header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ddd}main{background:white;min-height:50vh}.legal-links{text-align:center;font-size:12px}a{color:#17537a}h1{font-size:26px}.notice{background:#eef5fa;padding:14px;border-left:3px solid #17537a}.overview-section{padding:14px}.overview-video-list{table-layout:auto}.overview-video-thumbnail{max-width:160px}.overview-video-list th,.overview-video-list td{border:1px solid #ddd}