/* ══════════════════════════════════════════════════════════════
   SELO DE PLATAFORMA · aviso de propriedade e licença
   ──────────────────────────────────────────────────────────────
   Todo seletor aqui é .selo-* ou .lic-*, sem exceção. Nenhuma
   classe existente é tocada, então nada respinga nos módulos.
   As três superfícies onde o selo aparece (login, sidebar, hub)
   são escuras, por isso o lockup usado é o de fundo escuro e as
   cores são brancos com alfa, e não tokens de marca. Assim o selo
   fica igual em cliente verde (FB/Print) e em cliente roxo (Perito).
   ══════════════════════════════════════════════════════════════ */

.selo {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-family: var(--font-ui, system-ui, sans-serif);
}

.selo__linha { display: flex; align-items: center; gap: 7px; }

.selo__powered {
  font-size: 9.5px;
  font-style: italic;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .40);
  white-space: nowrap;
}

.selo__logo {
  height: 20px;
  width: auto;
  opacity: .92;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .35));
}

.selo__aviso {
  font-size: 9.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, .38);
}

.selo__link {
  align-self: flex-start;
  margin-top: 1px;
  padding: 0;
  background: none;
  border: 0;
  font: inherit;
  font-size: 9.5px;
  color: rgba(255, 255, 255, .58);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.selo__link:hover { color: #fff; }

/* ── login: sob a linha de versão, centralizado ── */
.selo--login {
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, .09);
  text-align: center;
}
.selo--login .selo__logo { height: 22px; }
.selo--login .selo__aviso { max-width: 300px; color: rgba(255, 255, 255, .44); }

/* ── sidebar (clara desde o relift 12/10/2026): rodapé, some quando recolhida ── */
.selo--sidebar {
  padding: 8px 14px 10px;
  border-top: 1px solid var(--borda-soft, #EEF0F3);
}
.selo--sidebar .selo__powered,
.selo--sidebar .selo__aviso { color: var(--muted, #9CA3AF); }
.selo--sidebar .selo__link { color: var(--sub, #6B7280); }
.selo--sidebar .selo__link:hover { color: var(--txt, #1C1F26); }
.selo--sidebar .selo__logo { filter: none; opacity: 1; }
.selo--parceiro .selo__powered { color: var(--muted, #9CA3AF); }
#app.sidebar-collapsed .selo--sidebar { display: none; }

/* powered by da consultoria parceira (FB), quando houver */
.selo--parceiro {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px 8px;
}
.selo--parceiro img { height: 20px; width: auto; }
#app.sidebar-collapsed .selo--parceiro { justify-content: center; padding: 10px 4px 0; }
#app.sidebar-collapsed .selo--parceiro .selo__powered { display: none; }

/* ── hub: rodapé da página, discreto e centralizado ── */
.selo--hub {
  align-items: center;
  gap: 5px;
  margin: 26px auto 34px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  max-width: 640px;
  text-align: center;
}
.selo--hub .selo__aviso { max-width: 520px; }

/* ── hub · linha enxuta logo abaixo do hero (acima da dobra) ── */
.selo--hubtopo {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 2px;
  padding: 9px 14px;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
}
.selo--hubtopo .selo__logo { height: 18px; }
.selo--hubtopo .selo__aviso { flex: 1 1 auto; min-width: 180px; }
.selo--hubtopo .selo__link { align-self: center; margin-top: 0; }

/* ══ MODAL DO TERMO ══ */
.lic-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; }
.lic-modal__bg { position: absolute; inset: 0; background: rgba(12, 10, 20, .58); backdrop-filter: blur(2px); }
.lic-modal__card {
  position: relative;
  width: min(680px, calc(100vw - 32px));
  max-height: min(78vh, 760px);
  display: flex; flex-direction: column;
  background: #fff; color: #222;
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .34);
  overflow: hidden;
}
.lic-modal__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 18px 20px 14px; border-bottom: 1px solid #e8e8ee;
}
.lic-modal__head h3 { margin: 0 0 2px; font-size: 16px; color: #381D54; }
.lic-modal__meta { font-size: 11.5px; color: #8b8b95; }
.lic-modal__x { background: none; border: 0; cursor: pointer; font-size: 15px; color: #8b8b95; }
.lic-modal__body { padding: 6px 20px 18px; overflow-y: auto; }
.lic-sec { margin-top: 16px; }
.lic-sec h4 { margin: 0 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #6b4fa0; }
.lic-sec p { margin: 0; font-size: 13.5px; line-height: 1.6; }
.lic-modal__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 20px; border-top: 1px solid #e8e8ee;
  font-size: 10.5px; color: #8b8b95;
}
.lic-btn {
  padding: 7px 14px;
  background: #381D54; color: #fff;
  border: 0; border-radius: 8px;
  font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.lic-btn:hover { filter: brightness(1.12); }

/* ══ CARIMBO EM RELATÓRIO / IMPRESSÃO ══ */
.lic-carimbo {
  margin-top: 14px; padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, .12);
  font-size: 9.5px; line-height: 1.45; color: #6f6f78;
}
@media print {
  .lic-modal { display: none !important; }
  .lic-carimbo { color: #555 !important; }
}

@media (max-width: 640px) {
  .selo--hubtopo { flex-direction: column; align-items: flex-start; }
}
