/* EquiSense — Earnings Deep-Dive Tab Styles */

/* ═══════════════════════════════════════════════════════════════════════════
   Earnings Tab — PEAD Card & Data Table
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Earnings Hero Metrics Table (at-a-glance numbers) ──────────────────── */
.earnings-hero-table {
  margin-bottom: 14px; border-radius: 10px;
  background: var(--tint-1); border: 1px solid var(--tint-5);
  border-left: 3px solid var(--accent);
  overflow-x: auto; overflow-y: hidden;
}
.eht-table {
  width: 100%; border-collapse: collapse;
}
.eht-table th {
  padding: 8px 10px; font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--text-tertiary); text-align: right;
  border-bottom: 1px solid var(--tint-5);
  white-space: nowrap;
}
.eht-th-label { text-align: left !important; min-width: 80px; }
.eht-th-val { min-width: 70px; }
.eht-th-gr { min-width: 55px; }
.eht-table td {
  padding: 7px 10px; border-bottom: 1px solid var(--tint-3);
  font-size: 13px; text-align: right; white-space: nowrap;
}
.eht-label {
  text-align: left !important; font-weight: 600;
  color: var(--text-primary); font-size: 12px;
}
.eht-value {
  font-weight: 700; color: var(--text-primary);
  font-family: var(--font-data);
}
.eht-growth {
  font-weight: 600; font-size: 12px;
  font-family: var(--font-data);
}
/* YoY column emphasis — the primary signal for "how was this quarter?" */
.eht-th-yoy { color: var(--text-secondary); font-weight: 800; }
.eht-yoy { font-weight: 700; font-size: 13px; }
/* QoQ column de-emphasis — seasonal noise for most sectors */
.eht-th-qoq { opacity: 0.6; }
.eht-qoq { opacity: 0.55; font-weight: 500; }
/* Growth tooltips — show base period on hover */
.eht-growth span[title] { cursor: help; border-bottom: 1px dotted var(--text-tertiary); }
.eht-table tbody tr:last-child td { border-bottom: none; }
@media (max-width: 600px) {
  .eht-table th { padding: 6px 6px; font-size: 9px; }
  .eht-table td { padding: 6px 6px; font-size: 12px; }
  .eht-label { font-size: 11px; }
  .eht-growth { font-size: 11px; }
  .eht-th-val { min-width: 50px; }
  .eht-th-gr { min-width: 45px; }
}

/* ── Concall Earnings Snapshot ──────────────────────────────────────────── */
.concall-earnings-snap {
  padding: 12px 18px; margin-bottom: 0;
  background: var(--tint-1);
  border: 1px solid var(--tint-4);
  border-left: 3px solid var(--accent);
}
.ces-title-row {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 8px;
}
.ces-title {
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  color: var(--text-tertiary);
}
.ces-link {
  margin-left: auto; font-size: 11px; color: var(--accent);
  cursor: pointer; white-space: nowrap;
}
.ces-link:hover { text-decoration: underline; }
.ces-metrics {
  display: flex; gap: 20px; flex-wrap: wrap; align-items: baseline;
}
.ces-metric {
  display: inline-flex; align-items: baseline; gap: 4px;
}
.ces-metric-label {
  font-size: 11px; font-weight: 500; color: var(--text-tertiary);
}
.ces-metric-value {
  font-size: 14px; font-weight: 700;
  color: var(--text-primary);
}
.ces-metric-growth {
  font-size: 11px; font-weight: 600;
}
.ces-pead {
  font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 4px;
}
.ces-pead-positive { background: var(--accent-tint-badge); color: var(--green); }
.ces-pead-negative { background: var(--red-tint-badge); color: var(--red); }
.ces-pead-neutral  { background: var(--amber-tint-badge); color: var(--amber); }
@media (max-width: 600px) {
  .ces-metrics { gap: 14px; }
  .ces-metric-value { font-size: 13px; }
}

/* PEAD card with left-border accent — color set by variant class */
.earnings-pead {
  padding: 16px 20px; margin-bottom: 14px; border-radius: 12px;
  background: transparent; border: none;
  border-left: 3px solid var(--text-secondary);
}
.earnings-pead.pead-positive { border-left-color: var(--green); }
.earnings-pead.pead-negative { border-left-color: var(--red); }
.earnings-pead.pead-neutral  { border-left-color: var(--amber); }
.earnings-pead-row {
  display: flex; align-items: center; gap: 12px;
}
.earnings-pead-verdict-icon {
  font-size: 20px; font-weight: 800; line-height: 1;
  color: var(--text-secondary);
}
.pead-positive .earnings-pead-verdict-icon,
.pead-positive .earnings-pead-label { color: var(--green); }
.pead-negative .earnings-pead-verdict-icon,
.pead-negative .earnings-pead-label { color: var(--red); }
.pead-neutral  .earnings-pead-verdict-icon,
.pead-neutral  .earnings-pead-label { color: var(--amber); }
.earnings-pead-label {
  font-size: 13px; font-weight: 700;
  color: var(--text-secondary);
}
.earnings-pead-meta {
  font-size: 11px; font-weight: 500; color: var(--text-tertiary);
  margin-left: 6px;
}
.earnings-pead-bs {
  margin-left: auto; font-size: 11px; font-weight: 600;
  color: var(--text-tertiary); white-space: nowrap;
}
.earnings-pead-reason {
  font-size: 14px; color: var(--text-secondary);
  margin: 10px 0 0; line-height: 1.7;
}
.pead-reason-truncated {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; cursor: pointer;
}
.pead-reason-truncated::after {
  content: ' Read more'; font-weight: 600; color: var(--accent);
}

/* ── Earnings Subtab Row ──────────────────────────────────────────────────── */
.earnings-subtab-row {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.earnings-subtab-toggle { margin-left: auto; }

/* ── Verdict Banner ──────────────────────────────────────────────────────── */
.verdict-banner {
  padding: 12px 16px; border-radius: 10px;
  background: var(--tint-1); border: 1px solid var(--tint-5);
  border-left: 3px solid var(--amber);
}
.verdict-banner.vb-accent-green { border-left-color: var(--green); }
.verdict-banner.vb-accent-red   { border-left-color: var(--red); }
.verdict-banner.vb-accent-amber { border-left-color: var(--amber); }
.vb-top-row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.vb-left { display: flex; align-items: center; gap: 8px; }
.vb-right { margin-left: auto; }
.vb-pead {
  font-size: 12px; font-weight: 700; padding: 2px 8px;
  border-radius: 4px;
}
.vb-pead.vb-positive { background: var(--accent-tint-badge); color: var(--green); }
.vb-pead.vb-negative { background: var(--red-tint-badge); color: var(--red); }
.vb-pead.vb-neutral  { background: var(--amber-tint-badge); color: var(--amber); }
.vb-quarter {
  font-size: 12px; font-weight: 600; color: var(--text-tertiary);
}
.vb-bs {
  font-size: 11px; font-weight: 600; color: var(--text-tertiary);
}
.vb-bs .bs-strong, .vb-bs .bs-stable { color: var(--green); }
.vb-bs .bs-weak { color: var(--amber); }
.vb-bs .bs-stressed { color: var(--red); }
.vb-reason {
  font-size: 13px; color: var(--text-secondary); margin: 6px 0 0;
  line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 600px) {
  .vb-right { margin-left: 0; }
  .earnings-subtab-toggle { margin-left: 0; }
}

/* ── Insight Truncation ──────────────────────────────────────────────────── */
.earnings-insight { cursor: pointer; }
.earnings-insight .ei-text {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.earnings-insight.ei-expanded .ei-text {
  display: block; -webkit-line-clamp: unset;
}

/* Growth value colors */
.growth-pos { color: var(--green); }
.growth-neg { color: var(--red); }

/* Balance Sheet Health strip */
.bs-health-strip {
  display: flex; align-items: center; gap: 10px;
  margin-top: 10px; padding: 8px 14px;
  border-radius: 6px; background: var(--tint-1);
}
.bs-health-label {
  font-size: 11px; font-weight: 600; color: var(--text-tertiary);
  text-transform: uppercase; letter-spacing: 0.06em;
}
.bs-health-value {
  font-size: 12px; font-weight: 700; text-transform: capitalize;
}
.bs-strong  { color: var(--green); }
.bs-stable  { color: var(--green); }
.bs-weak    { color: var(--amber); }
.bs-stressed { color: var(--red); }

/* NPA severity colors (reuse on wtt-hero-metric-value) */
.npa-good   { color: var(--green); }
.npa-watch  { color: var(--amber); }
.npa-stress { color: var(--red); }

/* Insight tag badges */
.ei-positive { color: var(--green); }
.ei-negative { color: var(--red); }
.ei-neutral  { color: var(--text-tertiary); }
.ei-tag {
  display: inline-block; font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 1px 6px; border-radius: 3px; margin-right: 6px;
}
.ei-tag.ei-positive { background: var(--accent-tint-badge); }
.ei-tag.ei-negative { background: var(--red-tint-badge); }
.ei-tag.ei-neutral  { background: var(--tint-6); }

/* Earnings detail title with inline PDF link */
.earnings-detail-title {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.earnings-title-meta {
  margin-left: auto; display: flex; align-items: center; gap: 10px;
  font-weight: 400;
}
.earnings-pdf-link {
  font-size: 11px; font-weight: 600; color: var(--accent);
  text-decoration: none; padding: 3px 8px; border-radius: 4px;
  border: 1px solid var(--accent-border);
  transition: background 0.15s;
}
.earnings-pdf-link:hover { background: var(--accent-tint-bg); }
.earnings-filing-date {
  font-size: 11px; color: var(--text-tertiary);
}
.earnings-disclaimer {
  font-size: 11px; color: var(--text-tertiary); line-height: 1.5;
  margin: 4px 0 0; opacity: 0.7;
}

/* Scroll wrapper + loading text */
.scroll-x { overflow-x: auto; }
.dd-loading-text {
  font-size: 13px; color: var(--text-tertiary); margin: 0;
}

/* Data table: quarter column */
/* Latest quarter row highlight */
/* Secondary columns hidden on mobile */
@media (max-width: 600px) {
}

/* ── Earnings Sections Layout ──────────────────────────────────────────── */
.earnings-sections {
  display: flex; flex-direction: column; gap: 16px;
}

/* ── Earnings Quarter Picker ───────────────────────────────────────────── */

/* ── Earnings Detail Panel ─────────────────────────────────────────────── */
.earnings-detail {
  display: flex; flex-direction: column; gap: 16px;
}

/* Metrics grid */
.earnings-metrics-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px;
}
.earnings-metric-card {
  padding: 14px; border-radius: 10px;
  background: var(--tint-3); border: 1px solid var(--tint-5);
  transition: background 0.15s, border-color 0.15s;
}
.earnings-metric-card:hover {
  background: var(--tint-5); border-color: var(--tint-8);
}
.em-label {
  font-size: 10px; font-weight: 700; color: var(--text-tertiary);
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px;
}
.em-value {
  font-size: 18px; font-weight: 700; color: var(--text-primary);
  line-height: 1.2; letter-spacing: -0.01em;
}
.em-sub {
  display: flex; gap: 8px; margin-top: 4px; flex-wrap: wrap;
  font-size: 11px; font-weight: 600; color: var(--text-tertiary);
}

/* Earnings detail table (structured metrics table like standalone) */
.earnings-detail-table { width: 100%; border-collapse: collapse; }
.earnings-detail-table th { text-align: left; padding: 8px 10px; font-size: 11px; font-weight: 700; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 1px solid var(--tint-6); }
.earnings-detail-table td { padding: 9px 10px; border-bottom: 1px solid var(--tint-3); font-size: 13px; }
.em-td-label { font-weight: 600; color: var(--text-primary); white-space: nowrap; }
.em-td-value { font-weight: 700; color: var(--text-primary); white-space: nowrap; font-family: var(--font-data); }
.em-td-growth { font-weight: 600; font-size: 12px; white-space: nowrap; font-family: var(--font-data); }
.em-na { color: var(--text-tertiary); }
.em-th-label { min-width: 70px; }
.em-th-value { min-width: 80px; }
.em-th-gr { min-width: 60px; }

/* Collapsible sections */
.collapsible-header {
  user-select: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.collapsed .collapsible-body { display: none; }
.collapsed .collapse-chevron { transform: rotate(-90deg); }
.collapse-chevron { transition: transform 0.2s; display: inline-block; }

/* AI Insights */
.earnings-insights {
  display: flex; flex-direction: column; gap: 8px;
}
.earnings-insight {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 10px 14px; border-radius: 8px;
  background: var(--tint-1);
}
.ei-icon {
  font-size: 10px; flex-shrink: 0; margin-top: 4px; font-weight: 700;
}
.ei-text {
  font-size: 14px; line-height: 1.7; color: var(--text-secondary);
}

/* Segment bars */
.earnings-segments {
  display: flex; flex-direction: column; gap: 8px;
}
.earnings-seg-row {
  display: flex; align-items: center; gap: 10px;
}
.earnings-seg-name {
  font-size: 12px; color: var(--text-secondary); min-width: 120px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.earnings-seg-track {
  flex: 1; height: 8px; border-radius: 4px;
  background: var(--tint-4); overflow: hidden;
}
.earnings-seg-fill {
  height: 100%; border-radius: 4px;
  background: var(--accent);
  transition: width 0.6s ease;
}
.earnings-seg-pct {
  font-size: 12px; font-weight: 700;
  min-width: 36px; text-align: right; color: var(--accent);
  font-family: var(--font-data);
}

/* Financial statement tables (P&L, BS, CF — matches standalone results.html) */
.fin-stmt-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.fin-stmt-table th { text-align: left; padding: 10px 14px; font-size: 11px; font-weight: 700; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 1px solid var(--tint-8); white-space: nowrap; }
.fin-stmt-table td { padding: 8px 14px; border-bottom: 1px solid var(--tint-3); }
.fin-item-col { color: var(--text-secondary); white-space: nowrap; min-width: 180px; }
.fin-num-col { text-align: right; white-space: nowrap; min-width: 80px; color: var(--text-primary); font-family: var(--font-data); }
.fin-stmt-table th.fin-num-col { text-align: right; }
.fin-ttm-col { color: var(--accent) !important; font-weight: 800 !important; letter-spacing: 0.06em; }
.fin-cat-row td { font-size: 11px; font-weight: 700; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.04em; padding: 12px 14px 4px; border-bottom: none; }
.fin-row.fin-bold td { font-weight: 700; color: var(--text-primary); }
.fin-row.fin-bold .fin-item-col { color: var(--text-primary); }

/* Expandable row groups (Operating Expenses, Non-Operating Items, etc.) */
.fin-expand-header td:first-child { cursor: pointer; user-select: none; }
.fin-expand-header .fin-item-col { padding-left: 0; }
.expand-chevron {
  display: inline-block; font-size: 10px; width: 14px; text-align: center;
  color: var(--text-tertiary);
}
.fin-expand-header:hover td { background: var(--tint-2); }

/* EBITDA Margin / ratio rows */
.fin-margin-row td { font-size: 12px; color: var(--text-secondary); border-top: none; padding-top: 3px; padding-bottom: 8px; }
.fin-margin-row .fin-item-col { font-style: normal; }

/* Child rows hidden by default, shown when table has expand-{key} class */
/* Expandable rows: children hidden by default, shown when parent table has expand-{key} class.
   Each expandKey in JS must have a matching CSS rule here. */
.fin-expand-child { display: none; }
.fin-stmt-table.expand-expenditure .expand-child-expenditure,
.fin-stmt-table.expand-opex .expand-child-opex,
.fin-stmt-table.expand-btl .expand-child-btl,
.fin-stmt-table.expand-eps .expand-child-eps,
.fin-stmt-table.expand-intbrk .expand-child-intbrk { display: table-row; }

/* Indented child labels */
.fin-expand-child .fin-item-col { padding-left: 28px; font-size: 12px; color: var(--text-tertiary); }

/* Inline growth arrow (hover for % tooltip) */
.fin-inline-growth {
  font-size: 9px; font-weight: 600;
  white-space: nowrap; margin-left: 2px;
  cursor: default;
  padding: 0 2px;
  position: relative;
  display: inline;
  vertical-align: middle;
}
.fin-inline-growth:hover::after {
  content: attr(title);
  position: absolute; bottom: 100%; left: 50%;
  transform: translateX(-50%);
  padding: 3px 7px; border-radius: 4px;
  background: var(--bg-elevated, #1a1a2e); color: var(--text-primary, #e0e0e0);
  border: 1px solid var(--tint-8, #333);
  font-size: 11px; font-weight: 600;
  white-space: nowrap; pointer-events: none;
  z-index: 10;
}

/* Quarterly | Annual toggle */
.trend-mode-toggle {
  display: flex; gap: 0; border-radius: 8px; overflow: hidden;
  border: 1px solid var(--tint-8); width: fit-content;
}
.trend-mode-btn {
  padding: 6px 18px; font-size: 12px; font-weight: 700;
  font-family: var(--font-body); letter-spacing: 0.02em;
  background: transparent; color: var(--text-secondary);
  border: none; cursor: pointer; transition: all 0.15s;
}
.trend-mode-btn:hover { background: var(--tint-3); }
.trend-mode-btn.active {
  background: var(--accent); color: white;
}

/* Tier-2 statement type dropdown (Consolidated|Standalone) */
.trend-stmt-select {
  padding: 5px 28px 5px 10px; border-radius: 6px;
  background: var(--card-bg); border: 1px solid var(--tint-8);
  color: var(--text-secondary); font-family: var(--font-body);
  font-size: 12px; font-weight: 600; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 8px center;
  transition: border-color 0.2s;
}
.trend-stmt-select:hover { border-color: var(--accent); }
.trend-stmt-select:focus { outline: none; border-color: var(--accent); }
.trend-stmt-select option { background: var(--bg-elevated); color: var(--text-primary); }

/* Tier-2 filter toggles (Quarterly|Annual) */
.trend-filter-toggle {
  display: flex; gap: 4px; width: fit-content;
}
.trend-filter-btn {
  padding: 4px 12px; font-size: 12px; font-weight: 600;
  font-family: var(--font-body); letter-spacing: 0.02em;
  background: transparent; color: var(--text-tertiary);
  border: none; border-bottom: 2px solid transparent;
  cursor: pointer; transition: all 0.15s;
}
.trend-filter-btn:hover { color: var(--text-secondary); }
.trend-filter-btn.active {
  color: var(--text-primary);
  border-bottom-color: var(--accent);
}

@media (max-width: 600px) {
  .earnings-metrics-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .em-value { font-size: 15px; }
  .earnings-seg-name { min-width: 80px; font-size: 11px; }
  .fin-item-col { min-width: 100px; font-size: 12px; }
  .fin-num-col { min-width: 50px; font-size: 11px; padding: 5px 6px; }
  .fin-stmt-table th { padding: 8px 8px; font-size: 11px; }
  .fin-stmt-table { font-size: 12px; }
  .earnings-title-meta { margin-left: 0; margin-top: 4px; }
  .fin-inline-growth { font-size: 9px; }
  .fin-expand-child .fin-item-col { padding-left: 22px; font-size: 11px; }
  .trend-mode-btn { padding: 5px 14px; font-size: 11px; }
  .trend-filter-btn { padding: 3px 10px; font-size: 11px; }
}

/* ── Shared Quarter Picker (Concall + Earnings tabs) ─────────────────── */
.concall-quarter-picker,
.eq-quarter-picker {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 4px;
}
.concall-quarter-select,
.eq-quarter-select {
  padding: 8px 32px 8px 14px; border-radius: 8px;
  background: var(--card-bg); border: 1px solid var(--tint-12);
  color: var(--text-primary); font-family: var(--font-body);
  font-size: 14px; font-weight: 700; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  transition: border-color 0.2s;
}
.concall-quarter-select:hover,
.eq-quarter-select:hover { border-color: var(--accent); }
.concall-quarter-select:focus,
.eq-quarter-select:focus { outline: none; border-color: var(--accent); }
.concall-quarter-select option,
.eq-quarter-select option {
  background: var(--bg-elevated); color: var(--text-primary);
}
.concall-quarter-count,
.eq-quarter-count {
  font-size: 11px; color: var(--text-tertiary); white-space: nowrap;
}

@media (max-width: 600px) {
  .concall-quarter-select,
  .eq-quarter-select { font-size: 13px; padding: 7px 28px 7px 10px; }
}
