@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --sedi-bg:         #101111;
  --sedi-bg-hover:   #1b1c1d;
  --sedi-bg-card:    #161718;
  --sedi-bg-input:   #1b1c1d;
  --sedi-border:     #3a3a3a;
  --sedi-gold:       #f1b24a;
  --sedi-gold-light: #ffe0a8;
  --sedi-blue:       #3b82f6;
  --sedi-text:       #f5f5f5;
  --sedi-text-muted: #9a9a9a;
  --sedi-green:      #2ecc71;
  --sedi-green-bg:   rgba(46,204,113,0.08);
  --sedi-red:        #e74c3c;
  --sedi-red-bg:     rgba(231,76,60,0.08);
  --sedi-radius:     6px;
  --sedi-font:       'Manrope', sans-serif;
}

/* ── Light Theme ──────────────────────────────────────────────────────── */
html[data-theme="light"] {
  --sedi-bg:         #f5f5f5;
  --sedi-bg-hover:   #ebebeb;
  --sedi-bg-card:    #ffffff;
  --sedi-bg-input:   #ffffff;
  --sedi-border:     #d0d0d0;
  --sedi-text:       #1a1a1a;
  --sedi-text-muted: #666666;
  --sedi-green-bg:   rgba(46,204,113,0.12);
  --sedi-red-bg:     rgba(231,76,60,0.12);
}

/* Light theme: fix elements that use hardcoded dark colours */
html[data-theme="light"] .sedi-treemap-container { background: #e8e8e8; }
html[data-theme="light"] .sedi-tm-tooltip        { background: #ffffff; }
html[data-theme="light"] .sedi-range-bar         { background: rgba(0,0,0,0.1); }
html[data-theme="light"] .sedi-range-dot         { background: #333; box-shadow: 0 0 3px rgba(0,0,0,0.2); }
html[data-theme="light"] .sedi-stock-strip       { background: rgba(0,0,0,0.03); }
html[data-theme="light"] .sedi-modal-overlay     { background: rgba(0,0,0,0.5); }
html[data-theme="light"] .sedi-multiselect-dropdown { box-shadow: 0 8px 24px rgba(0,0,0,0.15); }
html[data-theme="light"] .sig-info-bubble        { box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
html[data-theme="light"] .sig-card:hover         { box-shadow: 0 4px 16px rgba(0,0,0,0.1); }


.sedi-app {
  font-family: var(--sedi-font);
  background: var(--sedi-bg);
  color: var(--sedi-text);
  padding: 24px 0;
  min-height: 400px;
}

/* ── Loading ──────────────────────────────────────────────────────────── */
.sedi-loading { display:flex; align-items:center; gap:12px; color:var(--sedi-text-muted); font-size:14px; padding:48px 0; }
.sedi-spinner { width:20px; height:20px; border:2px solid var(--sedi-border); border-top-color:var(--sedi-gold); border-radius:50%; animation:sedi-spin 0.7s linear infinite; }
@keyframes sedi-spin { to { transform:rotate(360deg); } }

/* ── Period Tabs ──────────────────────────────────────────────────────── */
.sedi-tabs { display:flex; gap:4px; margin-bottom:20px; border-bottom:1px solid var(--sedi-border); }
.sedi-tab { background:none; border:none; color:var(--sedi-text-muted); font-family:var(--sedi-font); font-size:13px; font-weight:600; padding:8px 14px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; transition:color .15s,border-color .15s; }
.sedi-tab:hover { color:var(--sedi-gold-light); }
.sedi-tab.active { color:var(--sedi-gold); border-bottom-color:var(--sedi-gold); }

/* ── Stat Cards ───────────────────────────────────────────────────────── */
.sedi-stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }
.sedi-stat-card { background:var(--sedi-bg-card); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); padding:12px 16px; }
.sedi-stat-card--clickable { cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.sedi-stat-card--clickable:hover { border-color:var(--sedi-green); box-shadow:0 0 0 2px rgba(34,197,94,.15); }
.sedi-stat-card--active { border-color:var(--sedi-green) !important; box-shadow:0 0 0 2px rgba(34,197,94,.25) !important; background:rgba(34,197,94,.06); }
.stat-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--sedi-text-muted); margin-bottom:4px; }
.stat-value { font-size:22px; font-weight:700; color:var(--sedi-gold); line-height:1.1; }
.stat-sub   { font-size:11px; color:var(--sedi-text-muted); margin-top:3px; }
.sedi-hc-cta { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; margin-top:6px; color:var(--sedi-green); opacity:.75; }
.sedi-stat-card--clickable:hover .sedi-hc-cta { opacity:1; }

/* ── Filter Bar ───────────────────────────────────────────────────────── */
.sedi-filter-bar { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; align-items:flex-end; background:var(--sedi-bg-card); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); padding:14px 16px; }
.sedi-filter-group { display:flex; flex-direction:column; gap:5px; flex:1 1 130px; }
.sedi-filter-group label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--sedi-text-muted); }
.sedi-filter-group input,
.sedi-filter-group select { background:var(--sedi-bg-input); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); color:var(--sedi-text); font-family:var(--sedi-font); font-size:13px; padding:7px 10px; transition:border-color .15s; }
.sedi-filter-group input:focus,
.sedi-filter-group select:focus { border-color:var(--sedi-gold); outline:none; }

/* ── Buttons ──────────────────────────────────────────────────────────── */
.sedi-btn { background:var(--sedi-gold); color:#101111; border:none; border-radius:var(--sedi-radius); font-family:var(--sedi-font); font-size:13px; font-weight:700; padding:8px 18px; cursor:pointer; transition:background .15s; }
.sedi-btn:hover { background:var(--sedi-gold-light); }
.sedi-btn-ghost { background:transparent; color:var(--sedi-text-muted); border:1px solid var(--sedi-border); margin-left:6px; }
.sedi-btn-ghost:hover { color:var(--sedi-text); background:var(--sedi-bg-hover); }
.sedi-btn-sm { font-size:11px; padding:4px 10px; margin-left:0; }

/* ── Active filter banner ─────────────────────────────────────────────── */
.sedi-filter-banner { display:flex; align-items:center; flex-wrap:wrap; gap:8px; background:var(--sedi-bg-alt, rgba(250,189,0,.07)); border:1px solid var(--sedi-gold); border-radius:var(--sedi-radius); padding:8px 14px; margin-bottom:14px; }
.sedi-filter-banner-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--sedi-text-muted); white-space:nowrap; }
.sedi-chips { display:flex; flex-wrap:wrap; gap:6px; flex:1; }
.sedi-chip { display:inline-flex; align-items:center; gap:5px; background:var(--sedi-gold); color:#101111; font-size:11px; font-weight:700; padding:3px 9px; border-radius:20px; cursor:pointer; transition:opacity .15s; user-select:none; }
.sedi-chip:hover { opacity:.75; }
.sedi-chip-x { font-size:10px; opacity:.65; }

/* ── Table ────────────────────────────────────────────────────────────── */
.sedi-section-title { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--sedi-text-muted); margin:28px 0 12px; }
.sedi-conviction-title { color:var(--sedi-green); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sedi-conviction-badge { font-size:11px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--sedi-text-muted); background:var(--sedi-bg-alt,rgba(0,0,0,.05)); padding:2px 8px; border-radius:10px; }
.sedi-table-wrap { overflow-x:auto; }
.sedi-table { width:100%; border-collapse:collapse; font-size:13px; }

.sedi-table thead th {
  background:var(--sedi-bg); color:var(--sedi-gold); font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; padding:11px 12px; text-align:left;
  border-bottom:2px solid var(--sedi-gold); white-space:nowrap; cursor:pointer;
  user-select:none; position:sticky; top:0; z-index:1;
}
.sedi-table thead th:hover { color:var(--sedi-gold-light); }
.sedi-table thead th .sort-icon { margin-left:4px; opacity:.4; font-size:10px; }
.sedi-table thead th.sorted-asc .sort-icon,
.sedi-table thead th.sorted-desc .sort-icon { opacity:1; }

.sedi-table tbody tr { border-bottom:1px solid var(--sedi-border); transition:background .1s; }
.sedi-table tbody tr:last-child { border-bottom:none; }
.sedi-table tbody tr:hover td { background:var(--sedi-bg-hover) !important; }

.sedi-table tbody td { background:var(--sedi-bg); color:var(--sedi-text); padding:10px 12px; font-size:13px; white-space:nowrap; }

/* Company column max-width */
.sedi-table td:first-child { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Buy / Sell row indicators */
.sedi-table tbody tr.row-buy td:first-child  { border-left:3px solid var(--sedi-green); }
.sedi-table tbody tr.row-sell td:first-child { border-left:3px solid var(--sedi-red); }
.sedi-table tbody tr.row-buy  { background-color:var(--sedi-green-bg); }
.sedi-table tbody tr.row-sell { background-color:var(--sedi-red-bg); }

/* Links — sedi-link works anywhere (table cells, modal fields, etc.) */
button.sedi-link { color:var(--sedi-gold); text-decoration:none; background:none; border:none; cursor:pointer; font-family:var(--sedi-font); font-size:13px; font-weight:500; padding:0; }
button.sedi-link:hover { color:var(--sedi-gold-light,var(--sedi-gold)); text-decoration:underline; }
.sedi-table tbody td a,
.sedi-table tbody td button.sedi-link { font-size:13px; }
.sedi-table tbody td a:hover,
.sedi-table tbody td button.sedi-link:hover { color:var(--sedi-gold-light); text-decoration:underline; }

/* Badges */
.sedi-badge { display:inline-block; border-radius:4px; font-size:10px; font-weight:700; padding:2px 6px; text-transform:uppercase; letter-spacing:.05em; }
.sedi-badge-buy   { background:var(--sedi-green-bg); color:var(--sedi-green); }
.sedi-badge-sell  { background:var(--sedi-red-bg);   color:var(--sedi-red);   }
/* Amendment badge — subtle amber, sits inline after company/insider name */
.sedi-badge-amend { background:rgba(241,178,74,0.15); color:var(--sedi-gold); font-size:9px; padding:1px 5px; vertical-align:middle; cursor:default; letter-spacing:.08em; }
.sedi-empty { text-align:center; padding:48px 20px; color:var(--sedi-text-muted); font-size:14px; }

/* ── Pagination ───────────────────────────────────────────────────────── */
.sedi-pagination { display:flex; justify-content:space-between; align-items:center; margin-top:16px; font-size:13px; color:var(--sedi-text-muted); flex-wrap:wrap; gap:10px; }
.sedi-pagination-btns { display:flex; gap:4px; }
.sedi-page-btn { background:var(--sedi-bg-card); border:1px solid var(--sedi-border); color:var(--sedi-text-muted); border-radius:4px; padding:4px 10px; font-family:var(--sedi-font); font-size:12px; cursor:pointer; transition:all .15s; }
.sedi-page-btn:hover:not(:disabled) { border-color:var(--sedi-gold); color:var(--sedi-gold); }
.sedi-page-btn.active { background:var(--sedi-gold); border-color:var(--sedi-gold); color:#101111; font-weight:700; }
.sedi-page-btn:disabled { opacity:.3; cursor:not-allowed; }

/* ── Modals ───────────────────────────────────────────────────────────── */
.sedi-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:99999; display:flex; align-items:center; justify-content:center; padding:20px; }
.sedi-modal { background:var(--sedi-bg-card); border:1px solid var(--sedi-border); border-radius:10px; max-width:1100px; width:100%; max-height:90vh; overflow-y:auto; overflow-x:hidden; padding:28px; position:relative; }
.sedi-modal .sedi-table-wrap { overflow-x:auto; }
.sedi-modal-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; }
.sedi-modal-title { font-size:18px; font-weight:700; color:var(--sedi-gold); }
/* Company title hyperlink inside modal */
.sedi-modal-title-link { color:var(--sedi-gold); text-decoration:none; }
.sedi-modal-title-link:hover { color:var(--sedi-gold-light); text-decoration:underline; }
.sedi-modal-close { background:none; border:none; color:var(--sedi-text-muted); cursor:pointer; font-size:20px; line-height:1; padding:0; transition:color .15s; }
.sedi-modal-close:hover { color:var(--sedi-text); }

.sedi-modal-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:20px; }
.sedi-modal-stat { background:var(--sedi-bg); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); padding:12px 14px; }
.sedi-modal-stat .ms-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--sedi-text-muted); margin-bottom:4px; }
.sedi-modal-stat .ms-value { font-size:18px; font-weight:700; color:var(--sedi-gold); }
.sedi-modal-stat .ms-sub   { font-size:11px; color:var(--sedi-text-muted); margin-top:3px; }
.sedi-perf-row .sedi-modal-stat .ms-value { font-size:16px; }
.sedi-text-muted { color:var(--sedi-text-muted); }

/* ── Error State ──────────────────────────────────────────────────────── */
.sedi-error { background:rgba(231,76,60,.1); border:1px solid rgba(231,76,60,.3); border-radius:var(--sedi-radius); color:var(--sedi-red); font-size:13px; padding:16px 20px; }

/* ── Multi-select ─────────────────────────────────────────────────────── */
.sedi-multiselect-group { flex:1 1 180px; }
.sedi-multiselect { position:relative; }
.sedi-multiselect-trigger { display:flex; align-items:center; justify-content:space-between; background:var(--sedi-bg-input); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); padding:7px 10px; cursor:pointer; font-size:13px; color:var(--sedi-text); transition:border-color .15s; min-width:140px; gap:8px; user-select:none; }
.sedi-multiselect-trigger:hover { border-color:var(--sedi-gold); }
.sedi-multiselect-label { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sedi-multiselect-arrow { color:var(--sedi-text-muted); font-size:10px; flex-shrink:0; }
.sedi-multiselect-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; z-index:9999; background:var(--sedi-bg-card); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); box-shadow:0 8px 24px rgba(0,0,0,.5); min-width:200px; max-width:320px; }
.sedi-multiselect-dropdown.open { display:block; }
.sedi-multiselect-actions { display:flex; gap:8px; padding:10px 12px 6px; border-bottom:1px solid var(--sedi-border); }
.sedi-ms-action { background:none; border:1px solid var(--sedi-border); border-radius:4px; color:var(--sedi-text-muted); font-family:var(--sedi-font); font-size:11px; padding:3px 10px; cursor:pointer; transition:all .15s; }
.sedi-ms-action:hover { border-color:var(--sedi-gold); color:var(--sedi-gold); }
.sedi-multiselect-options { max-height:220px; overflow-y:auto; padding:4px 0; }
.sedi-ms-option { display:flex; align-items:center; gap:8px; padding:7px 12px; cursor:pointer; transition:background .1s; }
.sedi-ms-option:hover { background:var(--sedi-bg-hover); }
.sedi-ms-option input[type="checkbox"] { flex-shrink:0; height:14px; width:14px; margin:0; }
.sedi-ms-option span { line-height:1.3; }
.sedi-ms-option--selected { background:rgba(241,178,74,.12); }
.sedi-ms-option--selected span { color:var(--sedi-gold); font-weight:600; }
.sedi-ms-option--selected input[type="checkbox"] { accent-color:var(--sedi-gold); }

/* ── Company Search Page ──────────────────────────────────────────────── */
.sedi-search-bar { display:flex; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.sedi-search-input { flex:2 1 280px; background:var(--sedi-bg-input); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); color:var(--sedi-text); font-family:var(--sedi-font); font-size:14px; padding:10px 14px; transition:border-color .15s; }
.sedi-search-input:focus { border-color:var(--sedi-gold); outline:none; }
.sedi-search-select { flex:1 1 200px; background:var(--sedi-bg-input); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); color:var(--sedi-text); font-family:var(--sedi-font); font-size:13px; padding:10px 12px; transition:border-color .15s; }
.sedi-search-select:focus { border-color:var(--sedi-gold); outline:none; }
.sedi-co-count { color:var(--sedi-text-muted); font-size:12px; margin-bottom:16px; }
.sedi-co-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.sedi-co-card { background:var(--sedi-bg-card); border:1px solid var(--sedi-border); border-radius:var(--sedi-radius); padding:16px; text-decoration:none; display:block; transition:border-color .15s,background .15s; }
.sedi-co-card:hover { border-color:var(--sedi-gold); background:var(--sedi-bg-hover); }
.sedi-co-ticker { color:var(--sedi-gold); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.sedi-co-name { color:var(--sedi-text); font-size:14px; font-weight:600; line-height:1.3; margin-bottom:6px; }
.sedi-co-industry { color:var(--sedi-text-muted); font-size:11px; }

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width:768px) {
  .sedi-filter-bar { flex-direction:column; }
  /* Fix 1.7: remove gap between Search and Title on narrow screens.
     The search group has an inline flex:2 1 220px — override it so all
     filter groups collapse to full-width with no leftover gap. */
  .sedi-filter-group { flex:1 1 100% !important; }
  .sedi-stat-row { grid-template-columns:1fr 1fr; }
  .sedi-modal { padding:18px; }
  .sedi-tabs { flex-wrap:wrap; }
  .sedi-multiselect-dropdown { min-width:100%; max-width:100%; }
}
@media (max-width:480px) {
  .sedi-stat-row { grid-template-columns:1fr; }
  .sedi-pagination { flex-direction:column; gap:10px; }
  .sedi-co-grid { grid-template-columns:1fr 1fr; }
}

/* ── Stock price strip in company modal ──────────────────────────────────── */
.sedi-stock-strip {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid var(--sedi-border);
  flex-wrap: wrap;
  align-items: center;
}
.sedi-stock-card {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 80px;
}
.sedi-stock-range-card {
  flex: 1 1 200px;
}
.sedi-stock-price {
  font-size: 18px;
  font-weight: 600;
  color: var(--sedi-gold);
}

/* 52-week range bar */
.sedi-range-bar-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}
.sedi-range-label {
  font-size: 10px;
  color: var(--sedi-text-muted);
  white-space: nowrap;
}
.sedi-range-bar {
  position: relative;
  flex: 1;
  height: 4px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
}
.sedi-range-fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  background: linear-gradient(90deg, var(--sedi-red), var(--sedi-gold), var(--sedi-green));
  border-radius: 2px;
}
.sedi-range-dot {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 3px rgba(0,0,0,0.5);
}

/* ── Short Interest cards — integrated flat into .sedi-modal-stats grid ── */
/* No separate box — all stat cards share identical styling                  */
.sedi-short-divider {
  /* intentionally unstyled — unified with other stat cards */
}

/* Short interest stats row — always 4 columns */
.sedi-modal-stats--short {
  grid-template-columns: repeat(4, 1fr) !important;
  margin-top: 0 !important;
}

/* As-of date badge — inline in section title */
.sedi-as-of {
  font-size: 11px;
  font-weight: 400;
  color: var(--sedi-text-muted);
  margin-left: 8px;
}

/* ── Stat group section titles (Insider Activity / Short Interest) ── */
.sedi-cards-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--sedi-text-muted);
  margin: 16px 0 6px;
}
.sedi-cards-title:first-child {
  margin-top: 0;
}

/* ── Combined Signals sections ──────────────────────────────────────────── */
.sedi-signals-title {
  color: var(--sedi-gold);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.sedi-divergence-title {
  color: #e879f9;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* ── Sector Heat Map — Treemap ───────────────────────────────────────────── */

.sedi-sector-wrap { font-family: inherit; }

/* Summary strip */
.sedi-sector-summary {
  display: flex;
  align-items: center;
  background: var(--sedi-bg-card);
  border: 1px solid var(--sedi-border);
  border-radius: var(--sedi-radius);
  padding: 14px 20px;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 0;
}
.sedi-sector-sum-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 24px 0 0;
}
.sedi-sector-sum-divider {
  width: 1px;
  height: 32px;
  background: var(--sedi-border);
  margin: 0 24px 0 0;
}
.sedi-sector-sum-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sedi-text-muted);
}
.sedi-sector-sum-val {
  font-size: 18px;
  font-weight: 700;
  color: var(--sedi-text);
}
.sedi-sector-sum-val.buy  { color: var(--sedi-green); }
.sedi-sector-sum-val.sell { color: var(--sedi-red);   }

/* Treemap */
.sedi-treemap-wrap {
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid var(--sedi-border);
}

.sedi-treemap-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #0d0d0e;
}

.sedi-treemap-cell {
  position: absolute;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 6px 8px;
  cursor: default;
  transition: filter .15s;
  border: 1px solid rgba(0,0,0,0.3);
}

.sedi-treemap-cell:hover {
  filter: brightness(1.18);
  z-index: 10;
}

.sedi-tm-name {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  word-break: break-word;
  hyphens: auto;
  max-width: 100%;
}
.sedi-tm-name--sm { font-size: 10px; }

.sedi-tm-net {
  font-size: 15px;
  font-weight: 800;
  margin-top: 3px;
  letter-spacing: -.01em;
}
.sedi-tm-net--sm { font-size: 11px; margin-top: 1px; }

.sedi-tm-meta {
  font-size: 10px;
  opacity: .65;
  margin-top: 4px;
  text-align: center;
}

/* Floating tooltip */
.sedi-tm-tooltip {
  position: absolute;
  background: #1a1b1c;
  border: 1px solid var(--sedi-border);
  border-radius: 6px;
  padding: 10px 13px;
  font-size: 12px;
  color: var(--sedi-text);
  pointer-events: none;
  opacity: 0;
  transition: opacity .12s;
  z-index: 999;
  min-width: 190px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6);
  white-space: nowrap;
}
.sedi-tm-tooltip.visible { opacity: 1; }
.sedi-tm-tooltip strong {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--sedi-gold);
  margin-bottom: 7px;
  white-space: normal;
}
.sedi-tm-tip-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 2px 0;
  color: var(--sedi-text-muted);
}
.sedi-tm-tip-row span:last-child {
  font-weight: 600;
  color: var(--sedi-text);
}
.sedi-tm-tip-row .buy  { color: var(--sedi-green) !important; }
.sedi-tm-tip-row .sell { color: var(--sedi-red)   !important; }

/* Legend */
.sedi-tile-legend {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
  position: relative;
  margin-top: 8px;
  padding: 0 90px;
}
.sedi-tile-legend-swatch {
  height: 6px;
  flex: 1;
  border-radius: 3px;
}
.sedi-tile-legend-label {
  position: absolute;
  font-size: 10px;
  color: var(--sedi-text-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  white-space: nowrap;
}
.sedi-tile-legend-label.left  { left: 0; }
.sedi-tile-legend-label.right { right: 0; }

@media (max-width: 600px) {
  .sedi-treemap-container { min-height: 320px; }
  .sedi-sector-summary { gap: 12px; }
  .sedi-sector-sum-divider { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 4 — INSIDER SIGNALS DASHBOARD
   ═══════════════════════════════════════════════════════════════════════════ */

/* Header */
.sig-header { margin-bottom: 20px; }
.sig-title   { font-size: 22px; font-weight: 700; color: var(--sedi-text); margin: 0 0 4px; }
.sig-subtitle{ font-size: 13px; color: var(--sedi-text-muted); margin: 0; }

/* Filter bar */
/* Filter bar — all controls in one horizontal row, wraps on narrow screens */
.sig-filters--row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 16px;
  margin-bottom: 14px;
  padding: 12px 16px;
  background: var(--sedi-card);
  border: 1px solid var(--sedi-border);
  border-radius: 10px;
}
.sig-filter-group       { display: flex; flex-direction: column; gap: 4px; }
.sig-filter-group--btns { justify-content: flex-end; }
.sig-filter-group--right{ margin-left: auto; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 8px; }
.sig-filter-label       { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--sedi-text-muted); }

/* Signal type pill bar */
.sig-pill-bar {
  margin-bottom: 18px;
}
.sig-filter-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.sig-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 20px;
  border: 1px solid var(--sedi-border);
  background: var(--sedi-card);
  color: var(--sedi-text);
  font-size: 12px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  white-space: nowrap;
  position: relative;
}
.sig-pill:hover  { background: var(--sedi-hover); }
.sig-pill.active { background: var(--sedi-gold); color: #1a1a1a; border-color: var(--sedi-gold); }
.sig-pill--high.active,
.sig-pill--medium.active,
.sig-pill--low.active { background: var(--sedi-gold); border-color: var(--sedi-gold); color: #1a1a1a; }
/* Count badge embedded in pill */
.sig-pill-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: rgba(255,255,255,.13);
  font-size: 10px;
  font-weight: 700;
  color: inherit;
  line-height: 1;
}
.sig-pill.active .sig-pill-count { background: rgba(0,0,0,.18); }
.sig-select {
  padding: 7px 10px;
  border-radius: var(--sedi-radius);
  border: 1px solid var(--sedi-border);
  background: var(--sedi-bg-input);
  color: var(--sedi-text);
  font-family: var(--sedi-font);
  font-size: 13px;
  cursor: pointer;
  transition: border-color .15s;
}
.sig-select:focus { border-color: var(--sedi-gold); outline: none; }

/* Signal feed grid */
.sig-feed {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
}

/* Individual signal card */
.sig-card {
  background: var(--sedi-card);
  border: 1px solid var(--sedi-border);
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: box-shadow .15s;
}
.sig-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.18); }
.sig-card--high,
.sig-card--medium,
.sig-card--low    { border-top: 3px solid var(--sedi-gold); }

/* Card top row: badge only (urgency label removed) */
.sig-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sig-card-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  background: rgba(255,255,255,.05);
}
.sig-badge--high,
.sig-badge--medium,
.sig-badge--low   { color: var(--sedi-gold); }
.sig-card-urgency { display: none; }

/* Card body: company name + value */
.sig-card-body   { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.sig-card-ticker { flex: 1; min-width: 0; }
.sig-ticker-btn  {
  font-size: 14px;
  font-weight: 600;
  color: var(--sedi-text);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  white-space: normal;
  line-height: 1.3;
}
.sig-ticker-btn:hover { color: var(--sedi-blue); text-decoration: underline; }
.sig-ticker-code { font-size: 11px; color: var(--sedi-text-muted); font-weight: 600; background: var(--sedi-bg); padding: 1px 5px; border-radius: 4px; white-space: nowrap; }
.sig-card-value  { font-size: 15px; font-weight: 700; color: var(--sedi-green); white-space: nowrap; }

/* Detail rows */
.sig-card-detail { display: flex; flex-direction: column; gap: 4px; }
.sig-detail-item { font-size: 12px; color: var(--sedi-text-muted); }
.sig-detail-item strong { color: var(--sedi-text); }

/* Card footer */
.sig-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 6px;
  border-top: 1px solid var(--sedi-border);
}
.sig-card-time { font-size: 11px; color: var(--sedi-text-muted); }
.sig-view-btn  {
  font-size: 11px;
  font-weight: 600;
  background: none;
  border: 1px solid var(--sedi-border);
  padding: 3px 10px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--sedi-text-muted);
  transition: background .15s, color .15s;
}
.sig-view-btn:hover { background: var(--sedi-hover); color: var(--sedi-text); }

/* Empty / error states */
.sig-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--sedi-text-muted);
}

@media (max-width: 600px) {
  .sig-feed { grid-template-columns: 1fr; }
  .sig-filters--row { flex-direction: column; }
  .sig-filter-group--right { margin-left: 0; }
}

/* ── Signal type info tooltips ──────────────────────────────────────────── */
.sig-info-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 3px;
  vertical-align: middle;
  flex-shrink: 0;
}
.sig-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid currentColor;
  opacity: 0.45;
  cursor: help;
  font-size: 9px;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  font-family: var(--sedi-font);
  letter-spacing: 0;
}
.sig-info-icon::before {
  content: '?';
}
.sig-info-bubble {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 240px;
  background: var(--sedi-bg-card, #161718);
  border: 1px solid var(--sedi-border);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--sedi-text);
  font-weight: 400;
  white-space: normal;
  z-index: 999;
  box-shadow: 0 4px 16px rgba(0,0,0,.45);
  pointer-events: none;
}
.sig-info-bubble::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--sedi-border);
}
.sig-info-tip:hover .sig-info-bubble,
.sig-info-tip:focus .sig-info-bubble {
  display: block;
}
.sig-pill:hover .sig-info-icon { opacity: 0.75; }

/* ── SEDI Filing Detail Modal ───────────────────────────────────────────── */
.sedi-modal--filing { max-width: 680px; }
.sedi-filing-note {
  font-size: 12px;
  color: var(--sedi-gold);
  background: rgba(241,178,74,.08);
  border: 1px solid rgba(241,178,74,.25);
  border-radius: 6px;
  padding: 8px 12px;
  margin-bottom: 16px;
}
.sedi-filing-panel {
  border: 1px solid var(--sedi-border);
  border-radius: 8px;
  margin-bottom: 14px;
  overflow: hidden;
}
.sedi-filing-panel-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  background: var(--sedi-bg);
  border-bottom: 1px solid var(--sedi-border);
}
.sedi-filing-amend-label { font-size: 12px; font-weight: 700; }
.sedi-filing-dir { font-size: 12px; }
.sedi-filing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.sedi-filing-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--sedi-border);
  border-right: 1px solid var(--sedi-border);
}
.sedi-filing-field:nth-child(even) { border-right: none; }
.sedi-filing-field:nth-last-child(-n+2) { border-bottom: none; }
.sedi-filing-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--sedi-text-muted);
}
.sedi-filing-value {
  font-size: 13px;
  color: var(--sedi-text);
  word-break: break-word;
}
/* SEDI ID link in tables */
.sedi-id-btn {
  font-size: 11px;
  font-family: monospace;
  letter-spacing: .03em;
  color: var(--sedi-text-muted) !important;
  opacity: 0.8;
  transition: opacity .15s, color .15s;
}
.sedi-id-btn:hover { opacity: 1; color: var(--sedi-blue) !important; }
@media (max-width: 520px) {
  .sedi-filing-grid { grid-template-columns: 1fr; }
  .sedi-filing-field { border-right: none; }
  .sedi-filing-field:nth-last-child(-n+2) { border-bottom: 1px solid var(--sedi-border); }
  .sedi-filing-field:last-child { border-bottom: none; }
}

/* ── Performance Dashboard [sedi_performance] ─────────────────────────── */
.sedi-perf-wrap { padding: 4px 0; }

.sedi-section-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sedi-text-muted);
  margin: 0 0 14px;
}
.sedi-section-sub {
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--sedi-text-muted);
}

/* Overview cards — one per horizon */
.sedi-perf-overview-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.sedi-perf-overview-card {
  background: var(--sedi-bg-card);
  border: 1px solid var(--sedi-border);
  border-radius: var(--sedi-radius);
  padding: 16px 20px;
  min-width: 148px;
  flex: 1;
  text-align: center;
}
.sedi-poc-horizon {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--sedi-text-muted);
  margin-bottom: 10px;
}
/* Side-by-side Insider vs TSX return comparison */
.sedi-poc-compare-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 6px;
}
.sedi-poc-compare-col {
  text-align: center;
}
.sedi-poc-vs {
  font-size: 10px;
  color: var(--sedi-text-muted);
  font-weight: 600;
  text-transform: uppercase;
}
.sedi-poc-label,
.sedi-poc-sublabel {
  font-size: 10px;
  color: var(--sedi-text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}
.sedi-poc-ret {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 8px;
}
.sedi-poc-tsx {
  font-size: 11px;
  color: var(--sedi-text-muted);
  margin-top: 4px;
}
.sedi-poc-alpha {
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}
.sedi-poc-tracked {
  font-size: 11px;
  color: var(--sedi-text-muted);
  margin-top: 8px;
  border-top: 1px solid var(--sedi-border);
  padding-top: 6px;
}

/* Tabs inside performance dashboard */
.sedi-perf-tabs-row {
  margin-bottom: 0;
  margin-top: 8px;
}
.sedi-tab-active {
  color: var(--sedi-gold) !important;
  border-bottom-color: var(--sedi-gold) !important;
}

/* Ticker P&L panel (company modal + company page) */
.sedi-cards-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--sedi-text-muted);
  padding: 10px 0 6px;
}
.sedi-perf-row {
  flex-wrap: wrap;
  gap: 8px;
}
.sedi-perf-stat {
  min-width: 110px;
  flex: 1;
}
.sedi-perf-stat .ms-sub {
  font-size: 10px;
  color: var(--sedi-text-muted);
  line-height: 1.4;
  margin-top: 2px;
}

/* Responsive */
@media (max-width: 640px) {
  .sedi-perf-overview-row { flex-direction: column; }
  .sedi-perf-overview-card { min-width: unset; }
}

/* ── Paired Insider / TSX return display ──────────────────────────────── */
.sedi-perf-pair {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0 3px;
}
.sedi-perf-pair-col {
  flex: 1;
  text-align: center;
}
.sedi-perf-pair-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--sedi-text-muted);
  margin-bottom: 2px;
}
.sedi-perf-pair-val {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.1;
}
.sedi-perf-pair-div {
  width: 1px;
  height: 28px;
  background: var(--sedi-border);
  flex-shrink: 0;
}

/* ── Overview card compare layout (sedi_performance) ─────────────────── */
.sedi-poc-compare-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 8px 0 4px;
}
.sedi-poc-compare-col {
  text-align: center;
}
.sedi-poc-vs {
  font-size: 10px;
  color: var(--sedi-text-muted);
  font-weight: 600;
}

/* ── Exchange Pills (Companies Dashboard) ────────────────────────────────── */
.sedi-exchange-pills {
  display: flex;
  gap: 8px;
  align-items: center;
}
.sedi-ex-pill {
  background: transparent;
  border: 1px solid var(--sedi-border);
  color: var(--sedi-text-muted);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sedi-ex-pill:hover {
  border-color: var(--sedi-gold);
  color: var(--sedi-gold);
}
.sedi-ex-pill.active {
  background: var(--sedi-green);
  border-color: var(--sedi-green);
  color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE TABLE — column hiding, expand drawer, compact formatters
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Dual-mode date & value spans ──────────────────────────────────────── */
.sedi-date-short  { display: none; }
.sedi-date-full   { display: inline; }
.sedi-val-compact { display: none; }
.sedi-val-full    { display: inline; }

/* ── Mobile ticker cell — hidden on desktop/tablet, visible on phone ───── */
/* data-col="mob_ticker" on main & company tables; data-col="ticker" on insider */
[data-col="mob_ticker"] { display: none; }

/* Ticker text inside the cell */
.sedi-mob-ticker-text {
  font-family: monospace;
  font-size: 11px;
  font-weight: 700;
  color: var(--sedi-gold);
  letter-spacing: .04em;
}

/* ── Expand chevron — hidden on desktop, shown on tablet/phone ─────────── */
.sedi-expand-chevron {
  display: none;
  font-size: 9px;
  color: var(--sedi-text-muted);
  margin-right: 4px;
  transition: transform 0.18s ease;
  vertical-align: middle;
  line-height: 1;
}
.sedi-expand-chevron.sedi-chevron-open {
  transform: rotate(90deg);
  color: var(--sedi-gold);
}

/* ── Expandable row cursor ─────────────────────────────────────────────── */
tr.sedi-expandable-row { cursor: default; }

/* ── Detail drawer ─────────────────────────────────────────────────────── */
.sedi-dr-wrap {
  padding: 10px 12px 12px;
  border-top: 1px solid var(--sedi-border);
  border-bottom: 2px solid var(--sedi-border);
  background: var(--sedi-bg-card);
}
.sedi-dr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px 14px;
}
.sedi-dr-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sedi-dr-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--sedi-text-muted);
  white-space: nowrap;
}
.sedi-dr-value {
  font-size: 12px;
  color: var(--sedi-text);
  word-break: break-word;
  overflow-wrap: break-word;
}

/* ── TABLET  641px – 1024px ────────────────────────────────────────────── */
@media (max-width: 1024px) {

  /* Show chevron, make row tappable */
  .sedi-expand-chevron { display: inline-block; }
  tr.sedi-expandable-row { cursor: pointer; }

  /* Switch to compact date & value */
  .sedi-date-full   { display: none; }
  .sedi-date-short  { display: inline; }
  .sedi-val-full    { display: none; }
  .sedi-val-compact { display: inline; }

  /* Hide secondary columns on tablet */
  [data-col="insider_name"],
  [data-col="shares_traded"],
  [data-col="price"],
  [data-col="currency"] { display: none; }
}

/* ── PHONE  ≤ 640px ────────────────────────────────────────────────────── */
@media (max-width: 640px) {

  /* Hide on phone: txn id, company, insider, %chg, standalone ticker col */
  [data-col="sedi_id"],
  [data-col="issuer_name"],
  [data-col="percent_change"],
  [data-col="ticker"] { display: none; }

  /* Show the dedicated mobile ticker column */
  [data-col="mob_ticker"] { display: table-cell; }

  /* Tighten drawer grid on tiny screens */
  .sedi-dr-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 10px;
  }

  /* Tighten cell padding */
  .sedi-table tbody td,
  .sedi-table thead th { padding: 8px 7px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LARGEST BUYS TABLE — responsive column hiding
   ═══════════════════════════════════════════════════════════════════════════ */

/* Tablet: hide Avg price, Last price, Above 52W low */
@media (max-width: 1024px) {
  .sedi-tb-col-avg,
  .sedi-tb-col-last,
  .sedi-tb-col-52w { display: none; }
}

/* Phone: hide Title, Net purchased column header (value moves into company row),
   Avg/Last/52W already hidden from tablet rule */
@media (max-width: 640px) {
  .sedi-tb-col-title,
  .sedi-tb-col-avg,
  .sedi-tb-col-last,
  .sedi-tb-col-ret,
  .sedi-tb-col-52w  { display: none; }

  /* Indent insider rows less on phone */
  .sedi-tb-ins-row .sedi-tb-col-name { padding-left: 10px !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIXES: exchange pills, truncation, largest buys alignment
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Fix 2: Exchange label + pills layout ───────────────────────────────── */
.sedi-exchange-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.sedi-exchange-pill-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
/* On mobile: stack label above pills */
@media (max-width: 640px) {
  .sedi-exchange-pills {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}

/* ── Fix 3 & 5 & 7: CSS-based truncation — mobile only, desktop shows full ─ */
/* .sedi-trunc-cell is added to company/title/insider buttons in JS           */
@media (max-width: 1024px) {
  .sedi-trunc-cell {
    display: inline-block;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
  }
}
/* Tighter on phone */
@media (max-width: 640px) {
  .sedi-trunc-cell {
    max-width: 80px;
  }
}

/* ── Fix 6: Largest Buys — company net value aligned with Net col ───────── */
/* Remove the mobile override that hid the net cell on company rows and      */
/* showed it inline. Net cell is always visible; inline badge is always hidden */
.sedi-tb-net-mob { display: none !important; }

@media (max-width: 640px) {
  /* Keep col-net visible on company rows so value aligns with insider rows */
  .sedi-tb-co-row .sedi-tb-col-net {
    display: table-cell !important;
    text-align: right;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX 2: Filter bar — left-justified on mobile
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .sedi-filter-bar {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .sedi-filter-group {
    align-items: flex-start;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX 4: Short Interest page — responsive column hiding
   Columns: sedi-sc-rank · sedi-sc-ticker · sedi-sc-name · sedi-sc-sipct ·
            sedi-sc-shint · sedi-sc-shval · sedi-sc-price · sedi-sc-chg ·
            sedi-sc-dtc · sedi-sc-prevrank · sedi-sc-mktcap
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Tablet (641–1024px): show Rank, Ticker, Company, SI%, Short Value ── */
@media (max-width: 1024px) {
  .sedi-short-table .sedi-sc-shint,
  .sedi-short-table .sedi-sc-price,
  .sedi-short-table .sedi-sc-chg,
  .sedi-short-table .sedi-sc-dtc,
  .sedi-short-table .sedi-sc-mktcap,
  .sedi-short-table .sedi-sc-prevrank { display: none; }
}

/* ── Phone (≤640px): show only Rank, Ticker, SI%, Short Value ─────────── */
@media (max-width: 640px) {
  .sedi-short-table .sedi-sc-name { display: none; }

  /* Tighter rank column */
  .sedi-short-table .sedi-sc-rank { width: 20px; padding-right: 4px; }

  /* Ticker acts as the company identifier — style it clearly */
  .sedi-short-table .sedi-sc-ticker { white-space: nowrap; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX 1: Insider Signals filter bar — left-justified on mobile
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  .sig-filters--row {
    align-items: flex-start;
  }
  .sig-filter-group {
    align-items: flex-start;
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX 2: Short Interest — Increases / Decreases tables responsive
   Columns: sedi-cc-rank · sedi-cc-ticker · sedi-cc-name ·
            sedi-cc-chgsh · sedi-cc-val · sedi-cc-total · sedi-cc-pct
   Phone:   # · Ticker · Change(Shares) · Short Value
   Tablet:  + Company · % Change
   ═══════════════════════════════════════════════════════════════════════════ */

/* Tablet: hide Total Short only */
@media (max-width: 1024px) {
  .sedi-chg-table .sedi-cc-total { display: none; }
}

/* Phone: also hide Company and % Change */
@media (max-width: 640px) {
  .sedi-chg-table .sedi-cc-name,
  .sedi-chg-table .sedi-cc-pct  { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX 3: Combined Signals / Divergence tables responsive
   Columns: sedi-sg-name · sedi-sg-ticker · sedi-sg-buys ·
            sedi-sg-buyval · sedi-sg-shint · sedi-sg-shchg · sedi-sg-lastbuy
   Phone:   Ticker · Buy Value · Short Chg
   Tablet:  + Company · Last Buy
   ═══════════════════════════════════════════════════════════════════════════ */

/* Tablet: hide Insider Buys count, Short Interest shares */
@media (max-width: 1024px) {
  .sedi-sg-buys,
  .sedi-sg-shint,
  .sedi-sg-lastbuy { display: none; }
}

/* Phone: also hide Company name (ticker stays) */
@media (max-width: 640px) {
  .sedi-sg-name { display: none; }
}
