/* GEX — dealer gamma regime (options REST cache, no quote socket) */
#gexTab.tabPage{padding:10px 12px 24px}
.gex-root{
  --gex-bg:#0a1018;
  --gex-panel:rgba(12,22,36,.92);
  --gex-line:rgba(80,140,200,.28);
  --gex-teal:#4cc4ff;
  --gex-amber:#e8a23a;
  --gex-green:#3dcf6a;
  --gex-red:#ff5a5a;
  --gex-muted:#7a93ab;
  --gex-text:#d8e8f8;
  background:
    radial-gradient(900px 380px at 10% -10%, rgba(76,196,255,.12), transparent 55%),
    radial-gradient(700px 320px at 90% 0%, rgba(232,162,58,.07), transparent 50%),
    linear-gradient(180deg, #0b1218 0%, #070b10 100%);
  border:1px solid var(--gex-line);
  border-radius:10px;
  padding:12px;
  color:var(--gex-text);
  font-family:"IBM Plex Sans","Segoe UI",sans-serif;
  min-height:70vh;
}
.gex-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  margin-bottom:12px;flex-wrap:wrap;
}
.gex-title{font-size:22px;letter-spacing:.06em;font-weight:700;color:var(--gex-teal)}
.gex-title small{
  display:block;font-size:11px;color:var(--gex-muted);font-weight:500;
  letter-spacing:.08em;margin-top:3px;
}
.gex-muted{color:var(--gex-muted);font-size:11px;letter-spacing:.06em}
.gex-badge{
  font-size:10px;letter-spacing:.12em;padding:4px 8px;border:1px solid var(--gex-amber);
  color:var(--gex-amber);border-radius:4px;text-transform:uppercase;
}
.gex-conn{
  font-size:10px;letter-spacing:.1em;padding:5px 9px;border-radius:4px;
  border:1px solid var(--gex-line);text-transform:uppercase;font-weight:700;
  color:var(--gex-muted);background:rgba(0,0,0,.25);
}
.gex-conn.live{color:var(--gex-green);border-color:rgba(61,207,106,.55)}
.gex-conn.warn{color:var(--gex-amber);border-color:rgba(232,162,58,.55)}
.gex-conn.bad{color:var(--gex-red);border-color:rgba(232,90,90,.55)}
.gex-note{
  margin-bottom:12px;padding:8px 12px;border-radius:6px;font-size:12px;
  border:1px solid rgba(76,196,255,.35);background:rgba(76,196,255,.08);color:#a8d8f0;
}
.gex-grid{
  display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;margin-bottom:12px;
}
@media (max-width:1100px){.gex-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.gex-grid{grid-template-columns:1fr}}
.gex-card{
  min-height:120px;padding:16px 18px;
  background:var(--gex-panel);border:1px solid var(--gex-line);border-radius:10px;
}
.gex-card .k{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gex-muted);
}
.gex-card .v{
  font-size:28px;font-weight:700;color:#e8f4ff;margin-top:8px;letter-spacing:.04em;
}
.gex-card .s{margin-top:8px;font-size:12px;color:var(--gex-muted)}
.gex-card.is-pos .v{color:var(--gex-green)}
.gex-card.is-neg .v{color:var(--gex-red)}
.gex-card.is-fade .v{color:var(--gex-amber)}
.gex-card.is-expand .v{color:var(--gex-teal)}
.gex-section{margin-top:8px}
.gex-section-title{
  font-size:12px;letter-spacing:.14em;font-weight:700;color:#9fc8e8;
  margin:12px 0 8px;text-transform:uppercase;
}
.gex-table-wrap{overflow-x:auto;border:1px solid var(--gex-line);border-radius:8px}
.gex-table{width:100%;border-collapse:collapse;font-size:12px}
.gex-table th{
  text-align:left;padding:8px 10px;color:var(--gex-muted);
  letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  border-bottom:1px solid var(--gex-line);
}
.gex-table td{padding:7px 10px;border-bottom:1px solid rgba(80,140,200,.12);font-variant-numeric:tabular-nums}
.gex-bar{
  height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;min-width:80px;
}
.gex-bar > span{display:block;height:100%;background:var(--gex-teal)}
.gex-bar.is-neg > span{background:var(--gex-red)}
.gex-empty{color:var(--gex-muted);font-style:italic}
.gex-narrative{
  margin:0 0 8px;padding:10px 14px;border-radius:8px;
  border:1px solid rgba(232,162,58,.4);background:rgba(232,162,58,.08);
  color:#f3e0b8;font-size:13px;line-height:1.45;letter-spacing:.02em;
}
.gex-path{
  margin:0 0 12px;padding:8px 14px;border-radius:8px;
  border:1px solid rgba(76,196,255,.35);background:rgba(76,196,255,.08);
  color:#c8e8ff;font-size:13px;line-height:1.45;
}
.gex-path:empty{display:none}
.gex-tag{
  display:inline-block;margin-left:6px;padding:1px 5px;border-radius:2px;
  font-size:9px;letter-spacing:.08em;font-weight:800;vertical-align:middle;
}
.gex-tag.is-price{background:#f0c14b;color:#1a1404}
.gex-tag.is-call{background:#ff5a5a;color:#1a0404}
.gex-tag.is-put,.gex-tag.is-floor{background:#4cc4ff;color:#041018}
.gex-tag.is-flip{background:#e8a23a;color:#1a1404}
.gex-greeks{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;
  margin:0 0 12px;padding:10px 14px;border-radius:8px;
  border:1px solid var(--gex-line);background:rgba(12,22,36,.7);
}
.gex-greeks-kicker{
  font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--gex-teal);
}
.gex-greeks-item{font-size:13px;color:var(--gex-text)}
.gex-greeks-item b{color:#e8f4ff;font-variant-numeric:tabular-nums}
.gex-greeks-clock{
  margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gex-amber);font-weight:700;
}
.gex-greeks-clock b{color:var(--gex-amber)}
.gex-table-wrap{position:relative}
.gex-price-marker{
  position:absolute;left:0;right:0;height:0;border-top:2px solid var(--gex-amber);
  pointer-events:none;z-index:3;box-shadow:0 0 8px rgba(232,162,58,.45);
}
.gex-price-marker .lab{
  position:absolute;left:8px;top:-11px;background:var(--gex-amber);color:#0a1018;
  font-size:10px;font-weight:800;letter-spacing:.1em;padding:1px 7px;border-radius:2px;
}
.gex-table tr.is-spot td{background:rgba(232,162,58,.08)}
