:root{
  --bg:#020617;
  --panel:rgba(15, 23, 42, 0.4);
  --stroke:rgba(148, 163, 184, 0.1);
  --muted:#94a3b8;
  --text:#f8fafc;
  --yellow:#fde047;
  --green:#10b981;
  --white:#ffffff;
  --shadow:0 8px 32px 0 rgba(0, 0, 0, 0.37);
  --panel-blur:blur(16px);
}
html,body{
  background:
    radial-gradient(circle at top left, rgba(56, 189, 248, 0.12), transparent 35%),
    radial-gradient(circle at bottom right, rgba(29, 78, 216, 0.18), transparent 40%),
    linear-gradient(180deg, #020617 0%, #091221 50%, #0c2045 100%);
  background-attachment: fixed;
  color:var(--text);
  min-height:100%;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  letter-spacing:-0.015em;
}
body{ margin:0; }
.dashboard-shell{
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:24px;
  box-shadow:var(--shadow);
  backdrop-filter: var(--panel-blur);
  -webkit-backdrop-filter: var(--panel-blur);
  padding:16px 16px 4px;
}
.eyebrow{ color:#8ea2d9; font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; }
.dashboard-title{ font-size:2rem; font-weight:700; letter-spacing:-.03em; margin:0; white-space:nowrap; line-height:1; }
.brand-row{justify-content:space-between;flex-wrap:nowrap;}
.brand-lockup{min-width:0;flex-wrap:nowrap;}
.brand-logo{flex:0 0 auto;}
.radar-launch-toggle{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:34px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.radar-launch-track{
  width:46px;
  height:26px;
  padding:3px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid rgba(152,170,208,0.32);
  background:rgba(20,29,48,0.9);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
  transition:border-color .22s ease, background .22s ease;
}
.radar-launch-thumb{
  width:18px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg,#1fdb77,#10b95c);
  box-shadow:0 4px 14px rgba(16,185,92,0.28);
  transition:transform .22s ease, box-shadow .22s ease;
}
.radar-launch-toggle.is-active .radar-launch-track{
  border-color:rgba(61,220,132,0.36);
  background:rgba(16,33,29,0.95);
}
.radar-launch-toggle.is-active .radar-launch-thumb{
  transform:translateX(20px);
  box-shadow:0 4px 18px rgba(16,185,92,0.36);
}
.radar-launch-toggle:focus-visible{
  outline:0;
}
.radar-launch-toggle:focus-visible .radar-launch-track{
  box-shadow:0 0 0 2px rgba(125,211,252,0.18), inset 0 0 0 1px rgba(255,255,255,0.04);
}
.radar-launch-toggle.is-disabled{
  opacity:.42;
  cursor:not-allowed;
}
.radar-launch-toggle.is-disabled .radar-launch-track{
  background:rgba(17,22,33,0.72);
  border-color:rgba(255,255,255,0.08);
}
.radar-launch-toggle.is-disabled .radar-launch-thumb{
  background:linear-gradient(180deg,#67738c,#4a556d);
  box-shadow:none;
}
.metric-card,.mini-card,.panel-card,.read-card,.analysis-tile{
  background:var(--panel);
  border:1px solid var(--stroke);
  border-radius:20px;
  box-shadow:var(--shadow);
  backdrop-filter: var(--panel-blur);
  -webkit-backdrop-filter: var(--panel-blur);
}
.metric-card{ padding:16px 18px; min-height:120px; }
.metric-label,.mini-label,.read-label{ color:var(--muted); font-size:.82rem; margin-bottom:.35rem; }
.metric-value{ font-size:1.8rem; line-height:1.05; font-weight:700; letter-spacing:-.03em; }
.metric-meta,.mini-meta,.read-meta{ color:var(--muted); font-size:.82rem; }
.mini-card{ padding:14px 16px; min-height:92px; }
.mini-value{ font-size:1.35rem; font-weight:700; }
.panel-card{ padding:14px; overflow:hidden; position:relative; }
.panel-head{ display:flex; flex-direction:column; gap:10px; margin-bottom:8px; }
.panel-head h2{ margin:0; font-size:1rem; letter-spacing:-.02em; }
.panel-head p{ margin:2px 0 0; color:var(--muted); font-size:.84rem; line-height:1.3; }
.compact-head{ margin-bottom:6px; }
.panel-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:#e9f1ff;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.panel-action-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(125,211,252,0.34);
  background:rgba(18,67,148,0.20);
  box-shadow:0 10px 24px rgba(0,0,0,0.18);
}
.panel-action-icon{
  width:auto;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#d7e6ff;
  font-size:.98rem;
  line-height:1;
}
.panel-action-icon:hover{
  transform:none;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#9ec5ff;
}
.panel-action-icon i{
  pointer-events:none;
}
.panel-badge{
  display:inline-flex; align-items:center; border-radius:999px; padding:6px 10px;
  background:rgba(255,255,255,.05); border:1px solid var(--stroke); color:#dbe5ff; font-size:.78rem;
}
.chart-box{ width:100%; height:360px; }
.small-chart{ height:190px; }
.chart-box-tall{ height:360px; }
.radar-chart{ height:920px; min-height:920px; }
.analysis-tile{ padding:14px 16px; min-height:72px; }
.analysis-tile.small{ min-height:64px; }
.analysis-value{ font-size:1rem; font-weight:700; line-height:1.1; }
.analysis-value.small{ font-size:1.05rem; }
.commentary-box{
  min-height:72px; border-radius:14px; background:rgba(255,255,255,.035);
  border:1px solid var(--stroke); color:#dfe7fb; padding:14px; line-height:1.55; font-size:.86rem;
}
.news-feed-panel{ padding:14px 14px 12px; }
.news-feed-list{ display:flex; flex-direction:column; gap:10px; }
.news-feed-empty{
  min-height:72px; border-radius:14px; background:rgba(255,255,255,.035);
  border:1px solid var(--stroke); color:#dfe7fb; padding:14px; line-height:1.55; font-size:.86rem;
}
.news-status-card{
  cursor:pointer;
  transition:box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}
.negotiated-volume-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.negotiated-volume-card .metric-label{
  line-height:1.3;
  margin-bottom:0;
  text-align:center;
  flex:1 1 auto;
}
.negotiated-volume-value{
  font-size:1.08rem !important;
  line-height:1.2;
  white-space:normal;
  text-align:center;
  margin-top:6px;
}
.negotiated-volume-meta{
  font-size:.82rem;
  line-height:1.35;
  text-align:center;
  margin-top:4px;
}
.negotiated-volume-nav{
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:#dce9ff;
  font-size:1rem;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.negotiated-volume-nav:disabled{
  opacity:.32;
  cursor:default;
}
.news-status-card.is-news-alert-1{
  box-shadow:0 0 0 rgba(0,0,0,0), 0 0 28px rgba(59,130,246,0.32), 0 0 56px rgba(59,130,246,0.10);
  border-color:rgba(96,165,250,0.46);
}
.news-status-card.is-news-alert-2{
  box-shadow:0 0 0 rgba(0,0,0,0), 0 0 34px rgba(255,255,255,0.28), 0 0 68px rgba(255,255,255,0.12);
  border-color:rgba(255,255,255,0.62);
}
.news-status-card.is-news-alert-3{
  border-color:rgba(125,211,252,0.95);
  position: relative;
}
.news-status-card.is-news-alert-3::after{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  box-shadow: 0 0 40px rgba(125,211,252,0.6);
  opacity: 0.5;
  animation: gpuPulse 1.5s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
  will-change: transform, opacity;
}
@keyframes gpuPulse {
  0% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(1.02); opacity: 0.7; }
  100% { transform: scale(1); opacity: 0.3; }
}
.news-feed-row{
  display:grid;
  grid-template-columns:120px minmax(0, 1fr) auto;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(18,26,44,.72), rgba(13,20,35,.82));
}
.news-feed-time{ color:#9eb1d9; font-size:.8rem; line-height:1.45; white-space:nowrap; }
.news-feed-main{ min-width:0; }
.news-feed-row.is-upcoming{
  border-color:rgba(96,165,250,0.34);
  box-shadow:0 0 0 1px rgba(96,165,250,0.08) inset;
}
.news-feed-title{
  display:inline;
  padding:0;
  border:0;
  background:transparent;
  color:#eef4ff;
  font-size:.96rem;
  font-weight:700;
  line-height:1.4;
  text-align:left;
}
.news-feed-title:hover{ color:#9ec5ff; }
.news-feed-meta{ margin-top:6px; color:#94a0bd; font-size:.8rem; line-height:1.45; }
.news-feed-status{ color:#cfe1ff; font-weight:700; }
.news-feed-impact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(19,57,126,0.95);
  color:#eef4ff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  white-space:nowrap;
}
.news-feed-impact.is-impact-3{ background:linear-gradient(180deg, rgba(27,86,193,0.98), rgba(16,58,136,0.98)); }
.news-feed-impact.is-impact-2{ background:linear-gradient(180deg, rgba(20,61,134,0.94), rgba(13,43,97,0.94)); }
.time-switcher{
  display:flex; gap:6px; background:rgba(255,255,255,.04);
  border:1px solid var(--stroke); border-radius:999px; padding:5px;
}
.tf-btn{
  background:transparent; color:#b5c4e8; border:0; border-radius:999px;
  padding:7px 12px; font-size:.8rem; font-weight:600;
}
.tf-btn.active{ background:linear-gradient(180deg,#3d8bfd,#2563eb); color:#fff;}
.radar-card{ min-height: 100%; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0b1420; }
::-webkit-scrollbar-thumb { background: #1b2a3a; border-radius: 8px; border: 2px solid #0b1420; }
::-webkit-scrollbar-thumb:hover { background: #2a3f55; }
* { scrollbar-width: thin; scrollbar-color: #1b2a3a #0b1420; }
@media (min-width:1200px){ .panel-head{ flex-direction:row; align-items:flex-start; justify-content:space-between; } }
@media (max-width:1199px){ .radar-chart{ height:680px; min-height:680px; } }
@media (max-width:767px){
  .dashboard-shell{ padding:10px 10px 2px; border-radius:16px; }
  .dashboard-title{ font-size:1.5rem; }
  .chart-box,.chart-box-tall,.radar-chart{ height:300px; }
  .small-chart{ height:170px; }
  .news-feed-row{ grid-template-columns:1fr; gap:8px; }
  .news-feed-impact{ justify-self:flex-start; }
}

.radar-footer{display:none !important;margin-top:10px;padding-top:10px;border-top:1px solid var(--stroke);color:var(--muted);font-size:.78rem;line-height:1.4;}
.radar-footer strong{color:var(--text);font-weight:600;}


.dashboard-top-toggle{margin-top:-4px;}
.top-toggle-btn{
  background:rgba(255,255,255,.05);
  color:#dbe5ff;
  border:1px solid var(--stroke);
  border-radius:999px;
  padding:9px 14px;
  font-size:.82rem;
  font-weight:600;
}
.top-toggle-btn:hover{background:rgba(255,255,255,.08);}
.top-info-wrap{overflow:hidden;transition:max-height .22s ease, opacity .22s ease, margin .22s ease;max-height:420px;opacity:1;}
.top-info-wrap.is-collapsed{max-height:0;opacity:0;margin-bottom:0 !important;pointer-events:none;}
.graphics-stage{min-height:calc(100vh - 110px);}
.structural-chart{height:300px;}
.tactical-chart{height:680px;}
.radar-chart{height:1380px;min-height:1380px;}
.graphics-left-grid .panel-card{height:100%;}
.aux-flow-stack{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;height:100%;}
.aux-flow-stack > [data-panel-host]{display:flex;min-height:0;}
.aux-flow-stack > [data-panel-host] > .panel-card{width:100%;height:100%;}
.graphics-tactical-balance > [class*='col-']{display:flex;}
.graphics-tactical-balance > [class*='col-'] > .panel-card,
.graphics-tactical-balance > [class*='col-'] > .aux-flow-stack{width:100%;}
.tactical-flow-stack{min-width:0;}
.aux-flow-panel{min-height:0;padding:10px 10px 12px;}
.aux-flow-panel .panel-head{margin-bottom:4px;}
.aux-flow-panel .panel-head h2{font-size:.94rem;line-height:1.08;}
.aux-flow-chart{height:100%;min-height:242px;}
.analysis-footer{margin-top:18px;}
@media (min-width:1200px){
  .graphics-stage .col-xl-8,.graphics-stage .col-xl-4{display:flex;}
  .graphics-stage .col-xl-8>.row,.graphics-stage .col-xl-4>.panel-card{width:100%;}
}
@media (max-width:1199px){
  .graphics-stage{min-height:auto;}
  .radar-chart{height:980px;min-height:980px;}
  .tactical-chart{height:540px;}
  .structural-chart{height:250px;}
  .aux-flow-chart{min-height:220px;}
}
@media (max-width:767px){
  .brand-row,
  .brand-lockup{flex-wrap:wrap;}
  .dashboard-title{white-space:normal;}
  .top-toggle-btn{width:100%;}
  .graphics-stage{min-height:auto;}
  .structural-chart{height:190px;}
  .tactical-chart{height:380px;}
  .radar-chart{height:760px;min-height:760px;}
  .aux-flow-chart{min-height:200px;}
}

.radar-sep{color:var(--muted);padding:0 6px;}
.metric-meta:empty,.mini-meta:empty{display:none;}


/* v26 layout refinements */
.panel-card{display:flex;flex-direction:column;}
.panel-card > .chart-box{flex:1 1 auto;min-height:0;width:100%;}
.graphics-left-grid > [class*='col-']{display:flex;}
.graphics-left-grid > [class*='col-'] > .panel-card{width:100%;}
.staged-panel-hidden{visibility:hidden;pointer-events:none;}
.graphics-top-panels,.graphics-tactical-grid{align-items:stretch;}
.structural-chart{height:min(48vh,520px);min-height:420px;}
.tactical-chart{height:min(72vh,860px);min-height:700px;}
.radar-card{min-height:min(82vh,980px);}
.radar-chart{height:min(82vh,980px)!important;min-height:760px!important;position:relative;}
#radarChart{padding:0;}
#radarChart > .tv-lightweight-wrap{width:100%;height:100%;}
#radarChart .tv-lightweight-canvas,
#radarChart canvas{border-radius:12px;}
@media (max-width:1199px){
  .structural-chart{height:420px;min-height:360px;}
  .tactical-chart{height:620px;min-height:560px;}
  .radar-card{min-height:900px;}
  .radar-chart{height:760px!important;min-height:760px!important;}
}
@media (max-width:767px){
  .structural-chart{height:320px;min-height:280px;}
  .tactical-chart{height:500px;min-height:460px;}
  .radar-card{min-height:680px;}
  .radar-chart{height:540px!important;min-height:540px!important;}
}


/* v27 fill-card chart refinement */
.structural-chart{height:min(60vh,660px)!important;min-height:520px!important;}
.tactical-chart{height:min(78vh,980px)!important;min-height:760px!important;}
.radar-card{min-height:min(86vh,1120px)!important;}
.radar-chart{height:min(86vh,1120px)!important;min-height:920px!important;}
.chart-box .plot-container,.chart-box .svg-container,.chart-box .main-svg{height:100%!important;}
.chart-box .modebar{top:-24px!important;right:6px!important;}
@media (max-width:1199px){.structural-chart{height:500px!important;min-height:460px!important;}.tactical-chart{height:700px!important;min-height:620px!important;}.radar-chart{height:860px!important;min-height:860px!important;}}
@media (max-width:767px){.structural-chart{height:360px!important;min-height:320px!important;}.tactical-chart{height:540px!important;min-height:500px!important;}.radar-chart{height:620px!important;min-height:620px!important;}}


/* v28 proportional reduction + radar reliability */
.structural-chart{height:min(54vh,590px)!important;min-height:470px!important;}
.tactical-chart{height:min(70vh,860px)!important;min-height:680px!important;}
.radar-card{min-height:min(78vh,980px)!important;}
.radar-chart{height:min(78vh,980px)!important;min-height:830px!important;display:block;position:relative;overflow:hidden;}
#radarChart,.tv-lightweight-wrap{width:100%;height:100%;min-height:100%;}
#radarChart{background:#070b14;border-radius:12px;}
.graphics-stage .panel-card{overflow:hidden;}
@media (max-width:1199px){.structural-chart{height:440px!important;min-height:400px!important;}.tactical-chart{height:620px!important;min-height:560px!important;}.radar-chart{height:760px!important;min-height:760px!important;}}
@media (max-width:767px){.structural-chart{height:320px!important;min-height:300px!important;}.tactical-chart{height:500px!important;min-height:460px!important;}.radar-chart{height:560px!important;min-height:560px!important;}}


/* v29 fit all charts + independent radar tf */
.dashboard-shell{padding:14px 14px 24px;}
.graphics-stage{min-height:auto;}
.structural-chart{height:min(30vh,320px)!important;min-height:230px!important;}
.tactical-chart{height:min(45vh,500px)!important;min-height:360px!important;}
.radar-card{min-height:min(76vh,820px)!important;}
.radar-chart{height:min(76vh,820px)!important;min-height:620px!important;}
.panel-card{padding:10px 10px 12px;}
.panel-head{margin-bottom:4px;}
.panel-head h2{font-size:.96rem;}
.radar-switcher .radar-tf-btn{background:transparent;color:#b5c4e8;border:0;border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:600;}
.radar-switcher .radar-tf-btn.active{background:linear-gradient(180deg,#3d8bfd,#2563eb);color:#fff;}
@media (min-width:1200px){.graphics-stage .row.g-3.align-items-stretch{align-items:flex-start!important;}}
@media (max-width:1199px){.structural-chart{height:260px!important;min-height:220px!important;}.tactical-chart{height:420px!important;min-height:340px!important;}.radar-chart{height:640px!important;min-height:640px!important;}}
@media (max-width:767px){.structural-chart{height:220px!important;min-height:200px!important;}.tactical-chart{height:340px!important;min-height:300px!important;}.radar-chart{height:520px!important;min-height:520px!important;}}

/* v30 compact layout + radar overlay */
.graphics-stage .row.g-3.align-items-stretch{align-items:stretch!important;}
.structural-chart{height:min(24vh,250px)!important;min-height:210px!important;}
.tactical-chart{height:min(39vh,430px)!important;min-height:330px!important;}
.radar-card{min-height:min(72vh,760px)!important;position:relative;}
.radar-chart{height:min(72vh,760px)!important;min-height:620px!important;}
.radar-footer{margin-top:6px;padding-top:8px;font-size:.72rem;}
#radarChart .tv-lightweight-wrap{height:100%!important;}
#radarChart canvas{cursor:crosshair;}
#analysisSection{display:none!important;}
.metric-card{min-height:104px;}
.mini-card{min-height:82px;}
@media (max-width:1199px){
  .structural-chart{height:220px!important;min-height:200px!important;}
  .tactical-chart{height:360px!important;min-height:300px!important;}
  .radar-chart{height:620px!important;min-height:540px!important;}
}


/* final combined adjustments */
.structural-chart{height:min(28vh,280px)!important;min-height:220px!important;}
.tactical-chart{height:min(46vh,500px)!important;min-height:390px!important;}
.radar-card{min-height:min(82vh,980px)!important;position:relative;}
.radar-chart{height:min(82vh,980px)!important;min-height:760px!important;}
.graphics-stage{min-height:calc(100vh - 84px);}

@media (max-width:1199px){
  .structural-chart{height:250px!important;min-height:220px!important;}
  .tactical-chart{height:420px!important;min-height:360px!important;}
  .radar-chart{height:700px!important;min-height:700px!important;}
}
@media (max-width:767px){
  .structural-chart{height:210px!important;min-height:190px!important;}
  .tactical-chart{height:340px!important;min-height:300px!important;}
  .radar-chart{height:560px!important;min-height:560px!important;}
}

.radar-operacao{
  position:absolute;
  left:18px;
  bottom:118px;
  max-width:360px;
  padding:14px 18px;
  border-radius:14px;
  border:0px solid transparent;
  background:linear-gradient(#0b1220,#0b1220) padding-box;
  color:#eef3ff;
  box-shadow:none !important;
  overflow:hidden;
  z-index:20;
  transition:opacity .28s ease, transform .28s ease;
  isolation:isolate;
}
.radar-operacao::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow: inset 0 0 0 1px rgba(120, 190, 255, 0.6), 0 0 30px rgba(120, 190, 255, 0.2);
  pointer-events:none;
  z-index:-1;
}
.radar-operacao::after{content:none;}
.radar-operacao.is-exiting{opacity:0;transform:translateY(10px) scale(0.985);}
.radar-operacao.is-entering{animation:cardIn .35s ease;}
.radar-operacao h4{position:relative;z-index:1;margin:0 0 8px 0;font-size:14px;font-weight:700;}
.radar-operacao .linha{position:relative;z-index:1;margin:2px 0;font-size:12px;color:#d9e3ff;line-height:1.45;}
@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.985);}100%{opacity:1;transform:translateY(0) scale(1);}}

@media (max-width:767px){
  .radar-operacao{left:10px;right:10px;bottom:96px;max-width:none;padding:12px 14px;}
  .radar-operacao h4{font-size:13px;}
  .radar-operacao .linha{font-size:11px;}
}


/* v31 tactical scale alignment + balanced heights */
.structural-chart{height:min(24vh,250px)!important;min-height:205px!important;}
.tactical-chart{height:min(37vh,400px)!important;min-height:315px!important;}
.radar-card{min-height:min(74vh,860px)!important;position:relative;}
.radar-chart{height:min(74vh,860px)!important;min-height:680px!important;}
.graphics-stage{min-height:calc(100vh - 76px);}
.radar-operacao{left:18px;bottom:82px;max-width:360px;border:1px solid rgba(0, 0, 0, 0.006);background:#0b1220;}
.radar-operacao::before,.radar-operacao::after{content:none!important;animation:none!important;}
.radar-operacao.is-entering{animation:none!important;}
@media (max-width:1199px){.structural-chart{height:230px!important;min-height:200px!important;}.tactical-chart{height:360px!important;min-height:300px!important;}.radar-chart{height:640px!important;min-height:640px!important;}.radar-operacao{bottom:68px;}}
@media (max-width:767px){.structural-chart{height:200px!important;min-height:180px!important;}.tactical-chart{height:320px!important;min-height:280px!important;}.radar-chart{height:540px!important;min-height:540px!important;}.radar-operacao{left:10px;right:10px;bottom:46px;max-width:none;}}


/* v4 tactical side-axis + local structural zoom */
.structural-chart{height:min(30vh,300px)!important;min-height:240px!important;}
.tactical-chart{height:min(42vh,460px)!important;min-height:360px!important;}
.radar-chart{height:min(80vh,940px)!important;min-height:720px!important;}
.radar-operacao{border:1px solid rgba(0,0,0,0.006)!important;}
.radar-operacao::before,.radar-operacao::after{display:none!important;content:none!important;}
@media (max-width:1199px){
  .structural-chart{height:250px!important;min-height:220px!important;}
  .tactical-chart{height:390px!important;min-height:330px!important;}
  .radar-chart{height:700px!important;min-height:620px!important;}
}

/* v6 isolated structural quadrants */
.live-gamma-panel,
.live-agressor-panel,
.gamma-oi-panel,
.open-interest-panel,
.tactical-panel,
.radar-card{position:relative;}

.graphics-left-grid .tactical-panel{
  margin-top:18px;
}

.live-agressor-panel{
  transition: box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}

.live-agressor-alert-toggle{
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, color .18s ease;
}

.live-agressor-alert-toggle.is-visible{
  opacity:1;
  pointer-events:auto;
}

.live-agressor-alert-toggle.is-active{
  color:#9ec5ff;
}

.live-agressor-alert-card{
  position:absolute;
  inset:0;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .22s ease, transform .22s ease;
  z-index:16;
}

.live-agressor-alert-card.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.live-agressor-alert-surface{
  width:100%;
  min-height:100%;
  border-radius:18px;
  border:1px solid rgba(92,160,255,0.62);
  background:
    linear-gradient(180deg, rgba(8,15,29,0.96), rgba(11,22,41,0.98)),
    radial-gradient(circle at top left, rgba(61,140,255,0.20), transparent 38%);
  box-shadow:
    0 0 30px rgba(43,136,255,0.18),
    0 0 62px rgba(43,136,255,0.10),
    0 22px 46px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.04);
  padding:16px 16px 14px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.live-agressor-alert-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.live-agressor-alert-title{
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.01em;
  color:#f3f8ff;
}

.live-agressor-alert-close{
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.05);
  color:#eaf3ff;
  font-size:1rem;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.live-agressor-alert-close:hover{
  background:rgba(23,86,183,0.28);
  border-color:rgba(125,211,252,0.34);
  color:#ffffff;
}

.live-agressor-alert-lines{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.live-agressor-alert-line{
  font-size:.8rem;
  line-height:1.5;
  font-weight:400;
  color:rgba(244,248,255,0.95);
}

.live-agressor-alert-line.is-detail{
  font-size:.8rem;
  line-height:1.5;
  font-weight:400;
  color:rgba(219,231,255,0.92);
}

.live-agressor-panel.is-alert-pulse::after{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  box-shadow: 0 0 40px rgba(68, 122, 255, 0.4);
  opacity: 0.5;
  animation: gpuPulse 1.5s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
  will-change: transform, opacity;
}

.tactical-ndx-panel{
  --tactical-alert-shadow: rgba(43,136,255,0.30);
  --tactical-alert-border: rgba(92,160,255,0.62);
  transition: box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}

.tactical-qqq-panel{
  --tactical-alert-shadow: rgba(43,136,255,0.30);
  --tactical-alert-border: rgba(92,160,255,0.62);
  transition: box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}

.tactical-ndx-panel.is-delta-alert-positive{
  --tactical-alert-shadow: rgba(43,136,255,0.30);
  --tactical-alert-border: rgba(92,160,255,0.62);
}

.tactical-ndx-panel.is-delta-alert-negative{
  --tactical-alert-shadow: rgba(43,136,255,0.30);
  --tactical-alert-border: rgba(92,160,255,0.62);
}

.tactical-qqq-panel.is-delta-alert-positive{
  --tactical-alert-shadow: rgba(43,136,255,0.30);
  --tactical-alert-border: rgba(92,160,255,0.62);
}

.tactical-qqq-panel.is-delta-alert-negative{
  --tactical-alert-shadow: rgba(43,136,255,0.30);
  --tactical-alert-border: rgba(92,160,255,0.62);
}

.tactical-ndx-panel.is-delta-alert-pulse::after,
.tactical-qqq-panel.is-delta-alert-pulse::after{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  box-shadow: 0 0 40px var(--tactical-alert-shadow);
  opacity: 0.5;
  animation: gpuPulse 1.5s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
  will-change: transform, opacity;
}

.structural-chart-live,
.structural-chart-gamma-oi,
.structural-chart-open-interest{isolation:isolate;}

#gamma0dteChart,
#gamma0dteChart .js-plotly-plot,
#gamma0dteChart .plot-container,
#gamma0dteChart .svg-container,
#gamma0dteChart .main-svg{
  background: transparent !important;
}

#gammaOiChart,
#gammaOiChart .js-plotly-plot,
#gammaOiChart .plot-container,
#gammaOiChart .svg-container,
#gammaOiChart .main-svg,
#openInterestChart,
#openInterestChart .js-plotly-plot,
#openInterestChart .plot-container,
#openInterestChart .svg-container,
#openInterestChart .main-svg{
  background: transparent !important;
}

.live-gamma-panel .modebar,
.gamma-oi-panel .modebar,
.open-interest-panel .modebar{
  opacity:.85;
}


/* v7 per-quadrant hardening */
.live-gamma-panel .modebar{top:-22px!important;right:8px!important;}
.live-gamma-panel .modebar-btn svg{opacity:.95;}
.live-gamma-panel .plotly .main-svg,
.live-gamma-panel .plotly .svg-container,
.live-gamma-panel .plotly .plot-container{background:transparent!important;}
.gamma-oi-panel .plotly .main-svg,
.gamma-oi-panel .plotly .svg-container,
.gamma-oi-panel .plotly .plot-container{background:transparent!important;}
.open-interest-panel .plotly .main-svg,
.open-interest-panel .plotly .svg-container,
.open-interest-panel .plotly .plot-container{background:transparent!important;}


.dashboard-top-toggle{display:none!important;}
.top-info-wrap-single{max-height:none!important;opacity:1!important;margin-bottom:14px;}
.top-summary-row{--top-card-height:90px;}
.top-summary-row > [class*="col-"]{display:flex;}
.top-summary-row .compact-metric{width:100%;height:var(--top-card-height);min-height:var(--top-card-height);padding:14px 16px;display:flex;flex-direction:column;justify-content:center;}
.top-summary-row .compact-metric.gamma-headline-card{padding:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;overflow:hidden;border-radius:16px;}
.gamma-headline-section{min-width:0;height:var(--top-card-height);min-height:var(--top-card-height);padding:14px 18px 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;}
.gamma-headline-section + .gamma-headline-section{border-left:1px solid rgba(255,255,255,.12);}
.gamma-headline-label{margin:0;color:rgba(226,233,249,.62);font-size:.9rem;line-height:1.1;white-space:nowrap;}
.gamma-headline-value{margin:0;font-size:1.15rem;font-weight:800;line-height:1.05;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;color:#f5f8ff;}
.spot-diagnostic-card{padding:14px 16px;min-height:148px;}
.spot-diagnostic-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.spot-diagnostic-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:#dfe9ff;font-size:.78rem;font-weight:700;letter-spacing:.02em;}
.spot-diagnostic-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:8px;}
.spot-diagnostic-kpi{min-width:0;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);}
.spot-diagnostic-kpi strong{display:block;color:#f2f6ff;font-size:1rem;line-height:1.15;letter-spacing:-.02em;}
.spot-diagnostic-breakdown{margin-top:6px;color:#aebad7;font-size:.78rem;line-height:1.4;}
.spot-diagnostic-log{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;}
.spot-diagnostic-entry{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.028);}
.spot-diagnostic-entry-badge{flex:0 0 auto;min-width:68px;padding:4px 8px;border-radius:999px;text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.05em;}
.spot-diagnostic-entry.is-change .spot-diagnostic-entry-badge{background:rgba(61,220,132,.16);color:#8ff0b8;border:1px solid rgba(61,220,132,.28);}
.spot-diagnostic-entry.is-repeat .spot-diagnostic-entry-badge{background:rgba(47,125,246,.14);color:#9fc4ff;border:1px solid rgba(47,125,246,.26);}
.spot-diagnostic-entry.is-missing .spot-diagnostic-entry-badge{background:rgba(255,255,255,.10);color:#d7dbe6;border:1px solid rgba(255,255,255,.18);}
.spot-diagnostic-entry-text{min-width:0;color:#dbe5ff;font-size:.8rem;line-height:1.4;}
.spot-diagnostic-empty{padding:10px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.10);color:#94a0bd;font-size:.8rem;}
.compact-value{font-size:1.45rem;font-weight:700;line-height:1.05;}
.radar-page-shell{height:calc(100vh - 24px);min-height:calc(100vh - 24px);}
.radar-page-top{display:block;margin-bottom:12px;}
.radar-toolbar-card{padding:12px 16px;display:flex;align-items:center;min-height:78px;}
.radar-page-toolbar{width:100%;justify-content:space-between;gap:12px;}
.radar-page-performance-card{min-height:84px;padding:12px 12px 12px 18px;display:flex;align-items:center;}
.radar-performance-wrap{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:18px;min-width:0;}
.radar-performance-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;align-self:center;}
.radar-performance-switcher{margin-left:auto;align-self:center;justify-self:end;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-end;max-width:100%;}
.radar-page-stage{height:calc(100vh - 176px);padding-bottom:0;}
.radar-stage-col{display:flex;min-height:0;}
.radar-page-card{width:100%;height:100%;}
.radar-page-shell .radar-card{
  height:calc(100vh - 176px) !important;
  min-height:0 !important;
  padding:1px !important;
}
.radar-page-shell .radar-chart{
  height:calc(100vh - 178px) !important;
  min-height:0 !important;
}
.radar-page-shell #radarChart{
  background:#060811 !important;
  border-radius:17px;
}
.radar-page-shell #radarChart .tv-lightweight-canvas,
.radar-page-shell #radarChart canvas{
  border-radius:17px;
}
.radar-page-shell .radar-loader{
  inset:1px;
  border-radius:17px;
}
.radar-page-shell .strategy-notice{
  left:14px;
  right:14px;
  top:14px;
}
.radar-page-shell .radar-operacao{
  left:14px;
  bottom:14px;
}
@media (max-width:767px){.top-summary-row{--top-card-height:78px;}.top-summary-row .compact-metric{padding:12px 14px;}.top-summary-row .compact-metric.gamma-headline-card{padding:0!important;}.gamma-headline-section{padding:12px 14px;gap:7px;}.gamma-headline-label{font-size:.84rem;}.gamma-headline-value{font-size:1.95rem;}.compact-value{font-size:1.25rem;}}
@media (min-width:768px){.gamma-headline-value{font-size:2rem;}}
@media (max-width:991px){.radar-page-performance-card{min-height:78px;padding:10px 10px 10px 14px;}.radar-performance-wrap{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;}.radar-performance-switcher{margin-left:auto;justify-self:end;}}
@media (max-width:991px){.spot-diagnostic-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.spot-diagnostic-log{grid-template-columns:1fr;}}


/* v34 transparent plotly ui + tactical legend cleanup */
.live-gamma-panel .modebar,
.gamma-oi-panel .modebar,
.open-interest-panel .modebar,
.tactical-ndx-panel .modebar,
.tactical-qqq-panel .modebar,
.js-plotly-plot .modebar{
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
.live-gamma-panel .modebar-group,
.gamma-oi-panel .modebar-group,
.open-interest-panel .modebar-group,
.tactical-ndx-panel .modebar-group,
.tactical-qqq-panel .modebar-group,
.js-plotly-plot .modebar-group,
.live-gamma-panel .modebar-btn,
.gamma-oi-panel .modebar-btn,
.open-interest-panel .modebar-btn,
.tactical-ndx-panel .modebar-btn,
.tactical-qqq-panel .modebar-btn,
.js-plotly-plot .modebar-btn{
  background: transparent !important;
}
.live-gamma-panel .modebar-btn:hover,
.gamma-oi-panel .modebar-btn:hover,
.open-interest-panel .modebar-btn:hover,
.tactical-ndx-panel .modebar-btn:hover,
.tactical-qqq-panel .modebar-btn:hover,
.js-plotly-plot .modebar-btn:hover{
  background: rgba(255,255,255,0.08) !important;
}

/* v35 tactical transparency + legend parity */
.tactical-panel .plotly .main-svg,
.tactical-panel .plotly .svg-container,
.tactical-panel .plotly .plot-container,
.tactical-panel .js-plotly-plot,
.tactical-panel .plot-container.plotly,
.tactical-panel .plotly,
#tacticalNDXChart .main-svg,
#tacticalNDXChart .svg-container,
#tacticalNDXChart .plot-container,
#tacticalQQQChart .main-svg,
#tacticalQQQChart .svg-container,
#tacticalQQQChart .plot-container{
  background:transparent!important;
}

.tactical-panel .modebar,
.tactical-panel .modebar-container,
#tacticalNDXChart .modebar,
#tacticalQQQChart .modebar,
#gamma0dteChart .modebar,
#gammaOiChart .modebar,
#openInterestChart .modebar{
  background:transparent!important;
  box-shadow:none!important;
}

.tactical-panel .modebar-group,
.tactical-panel .modebar-btn,
#tacticalNDXChart .modebar-group,
#tacticalNDXChart .modebar-btn,
#tacticalQQQChart .modebar-group,
#tacticalQQQChart .modebar-btn,
#gamma0dteChart .modebar-group,
#gamma0dteChart .modebar-btn,
#gammaOiChart .modebar-group,
#gammaOiChart .modebar-btn,
#openInterestChart .modebar-group,
#openInterestChart .modebar-btn{
  background:transparent!important;
  box-shadow:none!important;
}



/* v36 open interest native legend transparent only */
#openInterestChart .legend .bg{
  fill: transparent !important;
}
#openInterestChart .legend{
  background: transparent !important;
}


/* v37 tactical legend + spot/delta/gamma label backgrounds */
#tacticalNDXChart .legend .bg,
#tacticalQQQChart .legend .bg,
#tacticalNDXChart .annotation .bg,
#tacticalQQQChart .annotation .bg{
  fill: rgba(0, 102, 204, 0.95) !important;
  stroke: rgba(255,255,255,0.16) !important;
  stroke-width: 1px !important;
}


.radar-head-main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
}
.radar-toolbar{justify-content:flex-end;}
.radar-session-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:0;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.04);
  color:#9eb1d9;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.radar-session-status.is-pending{
  border-color:rgba(245,158,11,0.24);
  background:rgba(245,158,11,0.10);
  color:#fde68a;
}
.radar-session-status.is-captured{
  border-color:rgba(61,220,132,0.20);
  background:rgba(61,220,132,0.10);
  color:#bbf7d0;
}
.strategy-switcher{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}
.strategy-mode-btn{
  background:rgba(255,255,255,.06);
  color:#c9d5f3;
  border:1px solid var(--stroke);
  border-radius:8px;
  padding:5px 9px;
  font-size:.76rem;
  font-weight:600;
  line-height:1;
}
.strategy-mode-btn.active{
  background:linear-gradient(180deg,#3d8bfd,#2563eb);
  color:#fff;
  box-shadow:0 10px 26px rgba(37,99,235,.28);
}
.strategy-mode-btn.is-live{
  background:linear-gradient(180deg,#3d8bfd,#2563eb);
  color:#fff;
  box-shadow:0 0 0 1px rgba(125,211,252,.24), 0 10px 26px rgba(37,99,235,.28), 0 0 36px rgba(61,220,132,.18);
}
.strategy-mode-btn[aria-disabled="true"]{
  cursor:default;
  pointer-events:none;
}
.strategy-mode-btn.strategy-mode-btn-reset{
  cursor:pointer;
  pointer-events:auto;
}
.radar-operacao.is-hidden{
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
}
.radar-card.is-chart-pending .radar-toolbar{
  opacity:0;
  pointer-events:none;
}


/* radar loader centered */
.radar-card{position:relative;}
.radar-chart.is-loading-cover{
  visibility:hidden;
}
.radar-loader{
  position:absolute;
  inset:58px 10px 18px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  z-index:30;
  pointer-events:none;
  text-align:center;
  border-radius:18px;
  background:linear-gradient(180deg, #0b1220 0%, #0a111d 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
  opacity:1;
  overflow:hidden;
}
.radar-loader.is-hidden{display:none;}
.radar-loader-spinner{
  width:28px;
  height:28px;
  border-radius:999px;
  border:3px solid rgba(59,130,246,0.16);
  border-top-color:rgba(125,211,252,0.98);
  border-right-color:rgba(61,220,132,0.82);
  animation:radarSpin 1s linear infinite;
  box-shadow:0 0 20px rgba(59,130,246,0.16);
}
.radar-loader-text{
  color:rgba(237,242,255,0.92);
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.4;
  max-width:320px;
  padding:0 10px;
  text-shadow:0 2px 18px rgba(7,17,38,0.45);
}
.strategy-notice{
  position:absolute;
  left:18px;
  right:18px;
  top:74px;
  z-index:32;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(10,18,32,0.94);
  color:#eef3ff;
  font-size:.84rem;
  font-weight:700;
  line-height:1.4;
  box-shadow:0 16px 36px rgba(0,0,0,0.28);
  transition:opacity .24s ease, transform .24s ease;
}
.strategy-notice.is-hidden{
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
}
.strategy-notice.is-success{
  background:linear-gradient(180deg, rgba(13,61,43,0.96), rgba(10,34,25,0.96));
  border-color:rgba(61,220,132,0.38);
  color:#ddffeb;
}
.strategy-notice.is-danger{
  background:linear-gradient(180deg, rgba(72,22,22,0.96), rgba(39,15,15,0.96));
  border-color:rgba(255,107,107,0.38);
  color:#ffe3e3;
}
.strategy-notice.is-info{
  background:linear-gradient(180deg, rgba(15,41,82,0.96), rgba(10,24,49,0.96));
  border-color:rgba(59,130,246,0.38);
  color:#e2ecff;
}
@keyframes radarSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}


/* strategy buttons aligned with radar timeframe visual */
.strategy-switcher{
  display:flex;
  gap:7px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--stroke);
  border-radius:999px;
  padding:6px;
}
.radar-performance-switcher{
  flex-wrap:nowrap;
}
.radar-performance-switcher .strategy-mode-btn{
  white-space:nowrap;
}
.strategy-mode-btn{
  background:transparent;
  color:#b5c4e8;
  border:0;
  border-radius:999px;
  padding:8px 13px;
  font-size:.82rem;
  font-weight:600;
  line-height:1;
}
.strategy-mode-btn.active{
  background:linear-gradient(180deg,#3d8bfd,#2563eb);
  color:#fff;
  box-shadow:0 10px 26px rgba(37,99,235,.28);
}
.strategy-mode-btn.is-live{
  background:linear-gradient(180deg,#3d8bfd,#2563eb);
  color:#fff;
  box-shadow:0 0 0 1px rgba(125,211,252,.24), 0 10px 26px rgba(37,99,235,.28), 0 0 36px rgba(61,220,132,.18);
}
.strategy-mode-btn[aria-disabled="true"]{
  cursor:default;
  pointer-events:none;
}
.strategy-mode-btn.strategy-mode-btn-reset{
  cursor:pointer;
  pointer-events:auto;
}
@media (max-width:767px){
  .radar-performance-switcher{
    gap:4px;
    padding:5px;
  }
  .radar-performance-switcher .strategy-mode-btn{
    padding:7px 9px;
    font-size:.74rem;
  }
  .strategy-notice{
    left:10px;
    right:10px;
    top:66px;
    font-size:.78rem;
    padding:10px 12px;
  }
}

.radar-news-layer{
  position:absolute;
  inset:0;
  z-index:18;
  pointer-events:none;
  overflow:hidden;
}
.radar-news-line{
  position:absolute;
  top:8px;
  bottom:12px;
  transform:translateX(-50%);
  width:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.radar-news-badge{
  min-width:40px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(8,22,46,0.94);
  color:#eef4ff;
  font-size:.66rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  letter-spacing:.08em;
  white-space:nowrap;
  box-shadow:0 10px 26px rgba(0,0,0,0.24);
}
.radar-news-stem{
  flex:1 1 auto;
  width:2px;
  border-radius:999px;
  background:repeating-linear-gradient(
    to bottom,
    rgba(96,165,250,0.96) 0 10px,
    rgba(96,165,250,0) 10px 18px
  );
  box-shadow:0 0 18px rgba(59,130,246,0.22);
}
.radar-news-line.is-impact-3 .radar-news-badge{
  background:linear-gradient(180deg, rgba(25,83,182,0.98), rgba(18,58,128,0.98));
  border-color:rgba(147,197,253,0.48);
}
.radar-news-line.is-impact-3 .radar-news-stem{
  background:repeating-linear-gradient(
    to bottom,
    rgba(59,130,246,0.98) 0 12px,
    rgba(59,130,246,0) 12px 20px
  );
}
.radar-news-line.is-impact-2 .radar-news-badge{
  background:linear-gradient(180deg, rgba(20,61,134,0.94), rgba(13,43,97,0.94));
  border-color:rgba(125,211,252,0.34);
}
.radar-news-line:hover .radar-news-badge{
  transform:translateY(-1px);
}

body.radar-news-modal-open{
  overflow:hidden;
}
.radar-news-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.radar-news-modal.is-hidden{
  display:none;
}
.radar-news-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,7,18,0.76);
  backdrop-filter:blur(8px);
}
.radar-news-modal-dialog{
  position:relative;
  width:min(720px, 100%);
  max-height:min(84vh, 860px);
  overflow:auto;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.10);
  background:linear-gradient(180deg, rgba(11,18,32,0.98), rgba(8,14,26,0.98));
  box-shadow:0 30px 90px rgba(0,0,0,0.42);
}
.open-interest-modal-dialog{
  width:min(1180px, 100%);
  max-height:min(90vh, 980px);
}
.radar-news-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:#eef4ff;
  font-size:1.1rem;
  line-height:1;
}
.radar-news-modal-head{
  padding:20px 22px 14px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.radar-news-modal-impact{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(19,57,126,0.95);
  color:#eef4ff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.radar-news-modal-impact.is-impact-3{
  background:linear-gradient(180deg, rgba(27,86,193,0.98), rgba(16,58,136,0.98));
}
.radar-news-modal-title{
  margin:12px 0 6px;
  font-size:1.15rem;
  line-height:1.25;
}
.radar-news-modal-meta{
  color:#9eb1d9;
  font-size:.84rem;
  line-height:1.45;
}
.radar-news-modal-body{
  padding:16px 22px 22px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.open-interest-modal-body{
  padding:12px 18px 20px;
}
.open-interest-modal-chart{
  height:620px;
  min-height:620px;
}
.radar-news-item{
  padding:14px 14px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
}
.radar-news-item-title{
  margin:0 0 12px;
  font-size:.98rem;
  line-height:1.35;
}
.radar-news-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:10px;
}
.radar-news-fact{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.radar-news-fact-label{
  color:#8fa2cb;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.radar-news-fact-value{
  color:#eef4ff;
  font-size:.86rem;
  line-height:1.35;
  word-break:break-word;
}
.radar-news-summary{
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  color:#eef4ff;
  font-size:.92rem;
  line-height:1.6;
  white-space:pre-wrap;
}
.radar-news-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.radar-news-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid rgba(96,165,250,0.28);
  background:linear-gradient(180deg, rgba(32,88,184,0.92), rgba(20,58,132,0.96));
  color:#eef4ff;
  font-size:.84rem;
  font-weight:700;
  text-decoration:none;
}
.radar-news-action:hover{
  color:#ffffff;
  border-color:rgba(147,197,253,0.42);
}
.radar-news-action.is-secondary{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.12);
}
@media (max-width:767px){
  .radar-news-line{
    width:16px;
    top:6px;
    bottom:10px;
  }
  .radar-news-badge{
    min-width:26px;
    padding:3px 6px;
    font-size:.58rem;
  }
  .radar-news-modal{
    padding:12px;
  }
  .open-interest-modal-chart{
    height:420px;
    min-height:420px;
  }
  .radar-news-modal-head,
  .radar-news-modal-body{
    padding-left:16px;
    padding-right:16px;
  }
}

/* final layout lock: radar must not stretch the tactical row */
.graphics-stage > .row.g-3.align-items-stretch{
  align-items:flex-start !important;
}

/* final spacing tune: more bottom breathing on tactical/radar */
.tactical-panel{
  padding-bottom:18px !important;
}

.radar-card{
  padding-bottom:22px !important;
}

@media (min-width:1200px){
  .graphics-stage .panel-head > div:first-child{
    padding-top:15px;
  }
  .graphics-left-grid > .col-lg-3 .structural-chart{
    height:263px !important;
    min-height:263px !important;
  }
  .graphics-left-grid .tactical-panel{
    margin-top:6px !important;
  }
  .graphics-left-grid .tactical-chart{
    height:min(54vh, 575px) !important;
    min-height:500px !important;
  }
  .graphics-tactical-balance .tactical-panel{
    margin-top:0 !important;
  }
  .graphics-tactical-balance .tactical-flow-stack{
    margin-top:0 !important;
  }
  .graphics-tactical-balance .tactical-panel .tactical-chart{
    height:min(54vh, 515px) !important;
    min-height:440px !important;
  }
  .graphics-tactical-balance .aux-flow-chart{
    min-height:212px !important;
  }
  .graphics-stage{
    min-height:auto !important;
  }
  .graphics-stage > .row.g-3.align-items-stretch > .col-xl-8,
  .graphics-stage > .row.g-3.align-items-stretch > .col-xl-4{
    align-self:flex-start;
    min-height:0 !important;
  }
  .graphics-stage > .row.g-3.align-items-stretch > .col-xl-4{
    height:auto !important;
    max-height:none !important;
  }
  .graphics-stage > .row.g-3.align-items-stretch > .col-xl-4 > .radar-card{
    height:auto !important;
    min-height:0 !important;
    padding-bottom:22px !important;
  }
  #radarChart.radar-chart{
    min-height:0 !important;
  }
}

.spot-diagnostic-card{
  display:none !important;
}

.row.g-3.mt-3:has(.spot-diagnostic-card){
  display:none !important;
}
