/* GLOBAL CORTEX — Market Open Intelligence login */

/*
 * Handoff login → index: NUNCA visibility:hidden (isso gera tela preta).
 * Overlay visível “ABRINDO MESA…” até restore; watchdog redireciona se travar.
 */
html.gct-await-license body::before {
  content: "ABRINDO MESA…";
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: #05090d;
  color: #c8d0dc;
  font: 600 13px/1.4 Consolas, "Segoe UI", monospace;
  letter-spacing: 0.14em;
  pointer-events: none;
}

/* ANTI TELA PRETA: se a mesa estiver bloqueada, o gate NUNCA fica invisível */
body.license-blocked:not(.license-ready) #imperium-license-gate,
body.license-blocked:not(.license-ready) #imperium-license-gate.ih-hidden {
  display: flex !important;
  visibility: visible !important;
}

body.license-blocked #app,
body.license-blocked #header {
  visibility: hidden;
  pointer-events: none;
  user-select: none;
}

body.license-blocked #imperium-license-gate {
  display: flex;
}

body.license-ready #imperium-license-gate {
  display: none;
}

#imperium-license-gate {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  display: none;
  background: #05090d;
  color: #b9c5cd;
  font-family: var(--font-bloomberg, "Bloomberg Prop Unicode N", Consolas, monospace);
  height: 100vh;
  overflow: hidden;
  width: 100vw;
  zoom: calc(1 / var(--ui-fs-boost, 1));
}

#imperium-license-gate.ih-hidden {
  display: none !important;
}

.imperium-license-panel {
  --lic-cyan: #4a9bb1;
  --lic-amber: #e8b44a;
  --lic-green: #50b64b;
  --lic-red: #df655c;
  --lic-line: #172731;
  --lic-line2: #223743;
  background: #05090d;
  border: 1px solid #10232d;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: 48px minmax(220px, 30vh) minmax(108px, 14vh) minmax(250px, 1fr) minmax(58px, 8vh) 34px;
  height: 100vh;
  max-height: 100vh;
  max-width: 100vw;
  min-height: 690px;
  overflow: hidden;
  width: 100vw;
}

.lic-market-topbar {
  align-items: center;
  border-bottom: 1px solid var(--lic-line);
  display: grid;
  grid-template-columns: 260px 1fr auto 310px;
  min-width: 0;
  padding: 0 14px;
}

.lic-market-brand {
  align-items: center;
  display: flex;
  gap: 9px;
}

.lic-market-brandmark,
.lic-market-authmark {
  align-items: center;
  color: var(--lic-cyan);
  display: inline-flex;
  font-family: Arial, sans-serif;
  font-weight: 900;
  justify-content: center;
  transform: skew(-8deg);
}

.lic-market-brandmark {
  border: 3px solid var(--lic-cyan);
  font-size: 14px;
  height: 22px;
  width: 22px;
}

.lic-market-brand b {
  color: #e8eef2;
  display: block;
  font-size: 14px;
  letter-spacing: 0.16em;
}

.lic-market-brand small {
  color: #6a8a96;
  display: block;
  font-size: 9px;
  letter-spacing: 0.2em;
}

.lic-market-date,
.lic-market-clock,
.lic-market-topbar nav {
  color: #8aa0ab;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.lic-market-date {
  justify-self: center;
}

.lic-market-clock {
  color: var(--lic-cyan);
  margin-right: 70px;
}

.lic-market-topbar nav {
  display: flex;
  gap: 24px;
  justify-content: flex-end;
}

.lic-market-sessions {
  border-bottom: 1px solid var(--lic-line);
  overflow: hidden;
  position: relative;
}

.lic-market-world {
  background:
    linear-gradient(180deg, rgba(5, 9, 13, 0.42) 0%, rgba(5, 9, 13, 0.08) 36%, rgba(5, 9, 13, 0.12) 70%, rgba(5, 9, 13, 0.62) 100%),
    linear-gradient(90deg, rgba(5, 9, 13, 0.32), transparent 14%, transparent 86%, rgba(5, 9, 13, 0.32)),
    url("assets/login-world-map.png?v=login-map-night1") center / cover no-repeat;
  filter: contrast(1.06) saturate(1.12);
  inset: 0;
  opacity: 1;
  position: absolute;
}

.lic-market-session-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: calc(100% - 26px);
  position: relative;
  z-index: 1;
}

.lic-market-session {
  align-items: center;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  justify-content: center;
  min-width: 0;
  position: relative;
  text-shadow: 0 2px 6px #000;
}

.lic-market-session > * {
  position: relative;
  z-index: 1;
}

/* Hubs geográficos ficam no SVG do mapa — sem blobs por coluna */
.lic-market-session::before,
.lic-market-session::after {
  content: none;
}

.lic-market-session > span {
  color: var(--lic-cyan);
  font-size: clamp(12px, 0.95vw, 16px);
  font-weight: 600;
  letter-spacing: 0.16em;
}

.lic-market-session > strong {
  color: #f2f6f8;
  font-size: clamp(40px, 3.6vw, 64px);
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-top: 6px;
}

.lic-market-session > em {
  color: #8ea0aa;
  font-size: clamp(11px, 0.85vw, 14px);
  font-style: normal;
  letter-spacing: 0.14em;
  margin-top: 4px;
}

.lic-market-session > small {
  color: #8a98a2;
  font-size: clamp(11px, 0.85vw, 14px);
  letter-spacing: 0.1em;
  margin-top: 10px;
}

.lic-market-session > small i,
.lic-market-ready-list i,
.lic-market-license-row i,
.lic-market-mfa i {
  background: #7a858b;
  border-radius: 50%;
  display: inline-block;
  height: 7px;
  margin-right: 5px;
  width: 7px;
}

.lic-market-session.is-open > small,
.lic-market-session.is-open > b {
  color: var(--lic-green);
}

.lic-market-session.is-open > small i {
  background: var(--lic-green);
  box-shadow: 0 0 7px rgba(80,182,75,.6);
}

.lic-market-session > b {
  color: #7a8a94;
  font-size: clamp(11px, 0.85vw, 14px);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 8px;
}

.lic-market-next {
  bottom: 0;
  color: #8a98a2;
  font-size: clamp(11px, 0.85vw, 14px);
  height: 28px;
  left: 0;
  letter-spacing: 0.12em;
  line-height: 28px;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.lic-market-next b,
.lic-market-next strong {
  color: var(--lic-amber);
  margin-left: 14px;
}

.lic-market-auth {
  align-items: stretch;
  border-bottom: 1px solid var(--lic-line2);
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  min-width: 0;
  padding: 10px 14px;
  position: relative;
}

.lic-market-authbrand {
  align-items: center;
  border-right: 1px solid var(--lic-line2);
  display: flex;
  gap: 15px;
  padding-left: 15px;
}

.lic-market-authmark {
  border: 8px solid var(--lic-cyan);
  font-size: 38px;
  height: 62px;
  opacity: .95;
  width: 62px;
}

.lic-market-authbrand h1 {
  color: #d9e2e7;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .15em;
  margin: 0;
}

.lic-market-authbrand strong {
  color: #b8c7cf;
  display: block;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .12em;
}

.lic-market-authbrand small {
  color: var(--lic-amber);
  display: block;
  font-size: 7px;
  letter-spacing: .08em;
  margin-top: 8px;
}

#imperium-license-form {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(170px, 1fr) minmax(170px, 1fr) 115px 280px;
  min-width: 0;
  padding-left: 30px;
}

.lic-market-field {
  color: #a6b3bb;
  display: block;
  font-size: 9px;
  letter-spacing: .1em;
}

.lic-market-field > input,
.lic-market-keywrap {
  margin-top: 8px;
}

.lic-market-field input {
  appearance: none;
  background: #080d11;
  border: 1px solid #29404c;
  box-sizing: border-box;
  color: #e0e8ec;
  font: 12px var(--font-bloomberg, monospace);
  height: 38px;
  letter-spacing: .05em;
  padding: 0 12px;
  width: 100%;
}

.lic-market-field input:focus {
  border-color: var(--lic-cyan);
  outline: none;
}

.lic-market-keywrap {
  display: block;
  position: relative;
}

.lic-market-keywrap input {
  padding-right: 38px;
}

#lic-market-reveal {
  background: transparent;
  border: 0;
  color: #73858f;
  cursor: pointer;
  height: 36px;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 1px;
  top: 1px;
  width: 36px;
}

.lic-market-mfa {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.lic-market-mfa > span {
  color: #a6b3bb;
  font-size: 9px;
}

.lic-market-mfa strong {
  color: var(--lic-green);
  font-size: 9px;
  font-weight: 500;
}

.lic-market-mfa i,
.lic-market-ready-list .ok i,
.lic-market-license-row i {
  background: var(--lic-green);
}

.lic-market-mfa small {
  color: #71818a;
  font-size: 8px;
}

.lic-market-actions {
  display: grid;
  gap: 8px;
  grid-template-rows: auto auto;
  justify-self: start;
  max-width: 280px;
  width: 280px;
}

.lic-market-actions button {
  appearance: none;
  border-radius: 0;
  box-sizing: border-box;
  cursor: pointer;
  font: 700 12px/1.1 var(--font-bloomberg, monospace);
  letter-spacing: .1em;
  margin: 0;
  min-height: 44px;
  padding: 0 16px;
  text-transform: uppercase;
  width: 100%;
}

.lic-market-actions button[type="submit"] {
  background: var(--lic-amber);
  border: 1px solid var(--lic-amber);
  color: #071015;
  min-height: 48px;
}

.lic-market-actions button[type="button"] {
  background: #080d11;
  border: 1px solid #334550;
  color: #7e8d95;
  font-size: 11px;
  min-height: 42px;
}

.lic-market-actions a.lic-market-planos {
  align-items: center;
  background: #080d11;
  border: 1px solid #334550;
  box-sizing: border-box;
  color: #7e8d95;
  cursor: pointer;
  display: inline-flex;
  font: 700 11px/1.1 var(--font-bloomberg, monospace);
  justify-content: center;
  letter-spacing: .1em;
  min-height: 42px;
  padding: 0 16px;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

.lic-market-actions a.lic-market-planos:hover {
  border-color: #4a9bb1;
  color: #c8d4dc;
}

.lic-market-actions button:disabled {
  cursor: wait;
  opacity: .65;
}

#imperium-license-error {
  bottom: 3px;
  color: var(--lic-red);
  font-size: 9px;
  left: 275px;
  min-height: 12px;
  position: absolute;
}

.lic-market-intelligence {
  display: grid;
  gap: 5px;
  grid-template-columns: 34% 31% minmax(0, 35%);
  min-height: 0;
  padding: 5px 8px;
}

.lic-market-module {
  border: 1px solid var(--lic-line2);
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 8px 9px;
}

.lic-market-module h2 {
  color: var(--lic-cyan);
  flex: 0 0 auto;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .1em;
  margin: 0 0 8px;
}

.lic-market-module table {
  border-collapse: collapse;
  font-size: clamp(8px, .56vw, 11px);
  width: 100%;
}

.lic-market-module th,
.lic-market-module td {
  border-bottom: 1px solid rgba(34,55,67,.55);
  color: #a8b5bc;
  font-weight: 500;
  height: 23px;
  padding: 0 5px;
  text-align: right;
  white-space: nowrap;
}

.lic-market-module th {
  color: #657681;
  font-size: 8px;
  letter-spacing: .07em;
}

.lic-market-module th:first-child,
.lic-market-module td:first-child {
  text-align: left;
}

.lic-market-availability footer {
  display: flex;
  gap: 22px;
  margin-top: auto;
  padding: 7px 5px 0;
}

.lic-market-availability footer span {
  color: #71818a;
  font-size: 8px;
}

.lic-market-availability footer i,
.lic-market-status i {
  background: #738087;
  border-radius: 50%;
  display: inline-block;
  height: 7px;
  margin-right: 5px;
  width: 7px;
}

.lic-market-availability footer i.open,
.lic-market-status.open i {
  background: var(--lic-green);
}

.lic-market-availability footer i.partial,
.lic-market-status.partial i {
  background: var(--lic-amber);
}

.lic-market-status.open { color: var(--lic-green); }
.lic-market-status.partial { color: var(--lic-amber); }

.lic-market-tabs {
  border: 1px solid var(--lic-line2);
  display: grid;
  flex: 0 0 25px;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 4px;
}

.lic-market-tabs > * {
  align-items: center;
  background: transparent;
  border: 0;
  color: #6f7e86;
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: 8px;
  font-weight: 500;
  justify-content: center;
  padding: 0;
}

.lic-market-tabs button:hover {
  color: #a9bac3;
}

.lic-market-tabs button.active {
  background: #111c22;
  border-right: 1px solid #324650;
  color: #d3dde2;
}

.lic-market-pulse .up { color: var(--lic-green); }
.lic-market-pulse .down { color: var(--lic-red); }

.lic-market-dxy {
  align-items: center;
  border: 1px solid var(--lic-line2);
  display: grid;
  font-size: 9px;
  grid-template-columns: 1fr auto auto;
  margin-top: auto;
  min-height: 30px;
  padding: 0 9px;
}

.lic-market-dxy strong {
  color: #dbe5e9;
  margin-right: 20px;
}

.lic-market-dxy em {
  color: var(--lic-red);
  font-style: normal;
}

.lic-market-ready-list {
  flex: 1;
}

.lic-market-ready-list > div,
.lic-market-license-row {
  align-items: center;
  border-bottom: 1px solid rgba(34,55,67,.55);
  display: grid;
  font-size: clamp(8px, .6vw, 11px);
  grid-template-columns: 1fr auto 16px;
  min-height: 27px;
}

.lic-market-ready-list span,
.lic-market-license-row span {
  color: #a7b4bb;
}

.lic-market-ready-list strong,
.lic-market-license-row strong {
  color: var(--lic-green);
  font-size: 9px;
  font-weight: 500;
}

.lic-market-ready-list small {
  color: #62737d;
  font-size: 8px;
  margin-left: 8px;
}

.lic-market-ready-list .wait strong {
  color: var(--lic-amber);
}

.lic-market-audit {
  align-items: center;
  border: 1px solid var(--lic-line2);
  display: grid;
  gap: 20px;
  grid-template-columns: 150px repeat(6, 1fr);
  margin: 0 8px;
  min-width: 0;
  padding: 6px 13px;
}

.lic-market-audit-title {
  align-items: center;
  color: var(--lic-cyan);
  display: flex;
  font-size: 9px;
  gap: 10px;
}

.lic-market-audit-title span {
  font-size: 26px;
}

.lic-market-audit dl {
  margin: 0;
  min-width: 0;
}

.lic-market-audit dt {
  color: #687984;
  font-size: 7px;
  letter-spacing: .08em;
}

.lic-market-audit dd {
  color: #a8b5bc;
  font-size: 8px;
  margin: 5px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lic-market-audit dd.ok {
  color: var(--lic-green);
}

.lic-market-audit dd.err {
  color: #e77a7a;
}

/* Dados operacionais só no GCT-CLIENT (WebView2); site mostra o mínimo */
.lic-market-audit .lic-client-only { display: none; }
html.gct-client .lic-market-audit .lic-client-only { display: block; }
html.gct-client .lic-market-audit .lic-web-only { display: none; }

.lic-market-footer {
  align-items: center;
  color: #53656f;
  display: flex;
  font-size: 7px;
  justify-content: space-between;
  padding: 0 15px;
}

/* Login Full HD · tipografia independente do zoom interno do terminal */
#imperium-license-gate .lic-market-brandmark {
  font-size: 17px;
  height: 27px;
  width: 27px;
}

#imperium-license-gate .lic-market-brand b {
  font-size: 14px;
}

#imperium-license-gate .lic-market-brand small {
  font-size: 9px;
}

#imperium-license-gate .lic-market-date,
#imperium-license-gate .lic-market-clock,
#imperium-license-gate .lic-market-topbar nav {
  font-size: 11px;
}

#imperium-license-gate .lic-market-session > span {
  font-size: clamp(11px, .8vw, 15px);
}

#imperium-license-gate .lic-market-session > strong {
  font-size: clamp(34px, 3vw, 56px);
}

#imperium-license-gate .lic-market-session > em {
  font-size: 12px;
}

#imperium-license-gate .lic-market-session > small {
  font-size: 11px;
}

#imperium-license-gate .lic-market-session > b,
#imperium-license-gate .lic-market-next {
  font-size: 10px;
}

#imperium-license-gate .lic-market-authbrand h1 {
  font-size: 17px;
}

#imperium-license-gate .lic-market-authbrand strong {
  font-size: 14px;
}

#imperium-license-gate .lic-market-authbrand small {
  font-size: 9px;
}

#imperium-license-gate .lic-market-field,
#imperium-license-gate .lic-market-mfa > span {
  font-size: 11px;
}

#imperium-license-gate .lic-market-field input {
  font-size: 14px;
  height: 46px;
}

#imperium-license-gate #lic-market-reveal {
  height: 44px;
  width: 44px;
}

#imperium-license-gate .lic-market-mfa strong {
  font-size: 11px;
}

#imperium-license-gate .lic-market-mfa small {
  font-size: 10px;
}

#imperium-license-gate .lic-market-actions button {
  font-size: 13px;
}

#imperium-license-gate .lic-market-actions button[type="button"],
#imperium-license-gate .lic-market-actions a.lic-market-planos {
  font-size: 11px;
}

#imperium-license-gate #imperium-license-error {
  font-size: 11px;
}

#imperium-license-gate .lic-market-module h2 {
  font-size: 13px;
}

#imperium-license-gate .lic-market-module table {
  font-size: clamp(12px, .8vw, 15px);
}

#imperium-license-gate .lic-market-module th,
#imperium-license-gate .lic-market-module td {
  height: 32px;
}

#imperium-license-gate .lic-market-module th {
  font-size: 12px;
}

#imperium-license-gate .lic-market-availability footer span,
#imperium-license-gate .lic-market-tabs > * {
  font-size: 12px;
}

#imperium-license-gate .lic-market-dxy {
  font-size: 13px;
  min-height: 40px;
}

#imperium-license-gate .lic-market-ready-list > div,
#imperium-license-gate .lic-market-license-row {
  font-size: clamp(12px, .85vw, 15px);
  min-height: 36px;
}

#imperium-license-gate .lic-market-ready-list strong,
#imperium-license-gate .lic-market-license-row strong {
  font-size: 13px;
}

#imperium-license-gate .lic-market-ready-list small {
  font-size: 12px;
}

#imperium-license-gate .lic-market-audit-title {
  font-size: 13px;
}

#imperium-license-gate .lic-market-audit dt {
  font-size: 11px;
}

#imperium-license-gate .lic-market-audit dd {
  font-size: 12px;
}

#imperium-license-gate .lic-market-footer {
  font-size: 11px;
}

/* Login: tira de acesso no topo · relógios descem e encostam nos cards */
.imperium-license-panel.lic-auth-top {
  grid-template-rows: 48px minmax(108px, 14vh) minmax(220px, 30vh) minmax(250px, 1fr) minmax(58px, 8vh) 34px;
}

.lic-auth-top .lic-market-auth {
  border-bottom: 1px solid var(--lic-line);
}

.lic-auth-top .lic-market-sessions {
  border-bottom: 1px solid var(--lic-line2);
}

@media (max-width: 1100px) {
  .imperium-license-panel {
    min-width: 980px;
  }
  #imperium-license-gate {
    overflow: auto;
  }
}

/* ══════════════════════════════════════════════════════════════
   PLANOS · clone do Market Open (login) — cards no lugar da
   faixa de inteligência. Classes exclusivas da página de planos;
   não afetam o login (não usadas lá).
   CONTRATO: a tira .lic-market-auth (SECURE ACCESS) em planos.html
   é permanente — nunca substituir por intro de planos / nunca remover.
   ══════════════════════════════════════════════════════════════ */
.lic-plans-intro {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 30px;
  min-width: 0;
  padding-left: 30px;
}
.lic-plans-intro--row {
  background: rgba(8, 18, 24, 0.55);
  border: 1px solid var(--lic-line2);
  display: grid;
  gap: 12px 16px;
  grid-column: 1 / -1;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin: 0;
  padding: 10px 14px;
}
.lic-plans-intro--row .lic-plans-intro__copy {
  justify-self: start;
  min-width: 0;
}
.lic-plans-intro--row .lic-plans-compare {
  grid-column: 2;
  justify-self: center;
}
.lic-plans-intro h2 {
  color: #d9e2e7;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .1em;
  margin: 0;
}
#imperium-license-gate .lic-plans-intro h2 { font-size: 18px; }
.lic-plans-intro p {
  color: #84949d;
  font-size: 11px;
  line-height: 1.5;
  margin: 4px 0 0;
  max-width: 52ch;
}
#imperium-license-gate .lic-plans-intro p { font-size: 12px; }
.lic-plans-intro .lic-plans-compare {
  align-items: center;
  background: var(--lic-amber);
  border: 1px solid var(--lic-amber);
  color: #071015;
  display: inline-flex;
  font: 700 12px/1.1 var(--font-bloomberg, monospace);
  justify-content: center;
  letter-spacing: .1em;
  min-height: 44px;
  padding: 0 22px;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.lic-plans-intro .lic-plans-compare:hover {
  background: #f0c15c;
  border-color: #f0c15c;
  color: #071015;
}
.lic-plans-intro .lic-plans-back {
  border: 1px solid var(--lic-line2);
  color: #a8b5bc;
  font-size: 11px;
  letter-spacing: .1em;
  padding: 9px 16px;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.lic-plans-intro .lic-plans-back:hover {
  border-color: var(--lic-cyan);
  color: var(--lic-cyan);
}
@media (max-width: 900px) {
  .lic-plans-intro--row {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .lic-plans-intro--row .lic-plans-intro__copy,
  .lic-plans-intro--row .lic-plans-compare {
    grid-column: auto;
    justify-self: stretch;
  }
  .lic-plans-intro .lic-plans-compare {
    text-align: center;
    width: 100%;
  }
}

/* cards ocupam a mesma faixa .lic-market-intelligence (grid 3 col) */
.lic-plan-card {
  padding: 18px 18px;
  position: relative;
}
.lic-plan-card { cursor: pointer; }
.lic-plan-card.is-featured { border-color: var(--lic-amber); }
.lic-plan-idx {
  color: #4b5b64;
  font-size: 14px;
  letter-spacing: .12em;
  position: absolute;
  right: 13px;
  top: 12px;
}
.lic-plan-name {
  color: #d9e2e7;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: .06em;
  margin: 0 0 8px;
}
.lic-plan-card.is-featured .lic-plan-name { color: var(--lic-amber); }
.lic-plan-lead {
  color: #84949d;
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 16px;
  min-height: 52px;
}
.lic-plan-price {
  align-items: baseline;
  border-bottom: 1px solid var(--lic-line2);
  color: #e8eef2;
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 16px;
}
.lic-plan-price b { font-size: 42px; font-weight: 600; letter-spacing: .02em; }
.lic-plan-card.is-featured .lic-plan-price b { color: var(--lic-amber); }
.lic-plan-price small { color: #6f7e86; font-size: 18px; }
.lic-plan-groups {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
  overflow: auto;
}
.lic-plan-group h4 {
  color: var(--lic-cyan);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .1em;
  margin: 0 0 8px;
}
.lic-plan-group ul { list-style: none; margin: 0; padding: 0; }
.lic-plan-group li {
  color: #a8b5bc;
  font-size: 18px;
  line-height: 1.55;
  padding-left: 14px;
  position: relative;
}
.lic-plan-group li::before {
  color: var(--lic-cyan);
  content: '·';
  left: 3px;
  position: absolute;
}
.lic-plan-group.is-lim li { color: #7a8891; }
.lic-plan-group.is-lim li::before { color: var(--lic-red); }
.lic-plan-cta {
  background: transparent;
  border: 1px solid var(--lic-cyan);
  color: var(--lic-cyan);
  cursor: pointer;
  flex: 0 0 auto;
  font: inherit;
  font-size: 17px;
  letter-spacing: .1em;
  margin-top: 16px;
  padding: 15px;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}
.lic-plan-cta:hover { background: rgba(74, 155, 177, .12); }
.lic-plan-card.is-featured .lic-plan-cta {
  background: var(--lic-amber);
  border-color: var(--lic-amber);
  color: #0a0a0a;
  font-weight: 600;
}

/* Planos: rolagem da página; cards e faixa inferior sem overflow encavalado. */
body.plans-page {
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}

body.plans-page #imperium-license-gate,
body.plans-page #imperium-license-gate.ih-hidden {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 100vh;
  overflow: visible !important;
  width: 100%;
}

body.plans-page .imperium-license-panel,
body.plans-page .imperium-license-panel.lic-auth-top {
  /* auth institucional · cards · audit · footer */
  display: grid;
  grid-template-rows:
    auto
    minmax(0, 1fr)
    auto
    34px;
  height: auto !important;
  max-height: none !important;
  min-height: 100vh;
  overflow: visible !important;
}

/* Planos usa a mesma authbar da login — sem topbar Market Open. */
body.plans-page .lic-market-topbar,
body.plans-page .lic-market-auth {
  display: none !important;
}

body.plans-page.lic-inst {
  overflow: auto;
  min-height: 100vh;
}

body.plans-page .lic-inst-gate {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  min-height: 100vh;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

body.plans-page .lic-inst-authbar {
  position: sticky;
  top: 0;
  z-index: 20;
  flex-shrink: 0;
}

body.plans-page .lic-inst-planos.is-current {
  border-color: rgba(197, 160, 89, 0.55);
  color: var(--li-gold2, #e0c48a);
  background: rgba(197, 160, 89, 0.08);
}

body.plans-page .lic-market-sessions {
  display: none !important;
}

body.plans-page .lic-market-auth,
body.plans-page .lic-market-audit,
body.plans-page .lic-market-footer {
  min-height: max-content;
  overflow: visible;
  position: relative;
  z-index: 1;
}

body.plans-page .lic-market-intelligence {
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto;
  min-height: max-content;
  overflow: visible;
  position: relative;
  z-index: 2;
}

body.plans-page .lic-plans-intro {
  grid-column: 1 / -1;
}

body.plans-page .lic-plan-card {
  display: flex;
  flex-direction: column;
  min-height: max-content;
  overflow: visible;
  position: relative;
  z-index: 1;
}

body.plans-page .lic-plan-groups {
  flex: 1 1 auto;
  min-height: max-content;
  overflow: visible;
}

body.plans-page .lic-market-audit {
  margin-top: 8px;
}

#imperium-license-plan-badge {
  position: fixed;
  top: 8px;
  right: 12px;
  z-index: 90;
  padding: 4px 10px;
  background: rgba(0, 168, 204, 0.12);
  border: 1px solid rgba(0, 168, 204, 0.35);
  color: #00a8cc;
  font-family: var(--font-bloomberg, monospace);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#imperium-license-plan-badge.ih-hidden {
  display: none;
}

/* Overview / expand — badge (ex.: ADMIN) não cobre FULL SCREEN no tf-bar */
body.view-geral-active.fs-chart-only #imperium-license-plan-badge,
body.fs-chart-only #imperium-license-plan-badge,
body.mtg-expand-open #imperium-license-plan-badge {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.lic-disabled {
  opacity: 0.35 !important;
  pointer-events: none !important;
}

body.license-viewer-mode #left,
body.license-viewer-mode .action-grid,
body.license-viewer-mode .bottom-grid .bottom-btn:not(#btn-macro) {
  opacity: 0.35;
  pointer-events: none;
}

body.license-viewer-mode #left {
  display: none !important;
}

.ad-lic-list .ad-lic-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ad-lic-key {
  font-family: var(--font-bloomberg, monospace);
  color: #00a8cc;
  min-width: 200px;
}

.ad-lic-form .ad-form-grid--lic {
  max-width: 520px;
}

.ad-lic-extras {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  font-size: 12px;
  color: #8a98a4;
}

.ad-lic-created code {
  color: #7dffb2;
  font-size: 13px;
}

.ad-lic-pool {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.45;
}

.ad-lic-pool-ok {
  border-color: rgba(125, 255, 178, 0.35);
  color: #9fd4b0;
}

.ad-lic-pool-warn {
  border-color: rgba(255, 183, 77, 0.35);
  color: #d4b07a;
}

.ad-empty-err {
  color: #E77A7A;
}

.ad-btn-sm {
  padding: 4px 10px !important;
  font-size: 10px !important;
}

.ad-tag-on { color: #7dffb2; }
.ad-tag-off { color: #E77A7A; }
.ad-tag-warn { color: #ffb74d; }
