:root {
  --v2-fundo: #f4f7fb;
  --v2-tinta: #102033;
  --v2-muted: #627286;
  --v2-azul: #0b5cab;
  --v2-azul-2: #083b72;
  --v2-verde: #16b86a;
  --v2-card: #ffffff;
  --v2-borda: #d9e2ef;
  --v2-sombra: 0 18px 50px rgba(13, 35, 64, .13);
}

.v2-notificacoes-mobile {
  display: none;
  margin-left: auto;
}

.v2-notificacoes-desktop {
  display: contents;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: hidden;
}

body.v2-body {
  margin: 0;
  background: var(--v2-fundo);
  color: var(--v2-tinta);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.45;
  max-width: 100%;
  overflow-x: hidden;
}

.v2-topo {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px clamp(16px, 4vw, 54px);
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid var(--v2-borda);
  box-shadow: 0 8px 30px rgba(20, 40, 70, .08);
  backdrop-filter: blur(12px);
}

.v2-marca {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 230px;
  color: var(--v2-tinta);
  text-decoration: none;
}

.v2-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #0b5cab, #16b86a);
  font-weight: 900;
  letter-spacing: 0;
}

.v2-logo-imagem {
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 22px rgba(13, 35, 64, .12);
}

.v2-logo-imagem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transform: scale(.86);
  transform-origin: center center;
}

.v2-marca strong,
.v2-marca small {
  display: block;
}

.v2-marca strong {
  font-size: 1rem;
}

.v2-marca small {
  color: var(--v2-muted);
  font-size: .78rem;
}

.v2-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.v2-notificacoes-menu {
  position: relative;
}

.v2-notificacoes-botao {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 38px;
  border: 1px solid #c8d9ee;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.v2-notificacoes-botao b {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 99px;
  background: #e11d48;
  color: #fff;
  font-size: .72rem;
  line-height: 20px;
}

.v2-notificacoes-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: none;
  width: min(360px, calc(100vw - 28px));
  max-height: 440px;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(13, 35, 64, .18);
}

.v2-menu-com-badge {
  position: relative;
}

.v2-menu-com-badge b {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: .72rem;
  line-height: 20px;
  text-align: center;
}

.v2-notificacoes-dropdown.aberto {
  display: block;
}

.v2-notificacoes-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 6px 10px;
  border-bottom: 1px solid #edf2f8;
}

.v2-notificacoes-topo a {
  min-height: auto;
  padding: 0;
  color: var(--v2-azul);
  font-size: .86rem;
}

.v2-notificacao-item,
.v2-notificacao-linha {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--v2-tinta);
  text-decoration: none;
}

.v2-notificacao-item {
  min-height: 58px;
  padding: 10px 8px;
  border-radius: 8px;
}

.v2-notificacao-item:hover {
  background: #f2f7fd;
}

.v2-notificacao-item.nova,
.v2-notificacao-linha.nova {
  background: #eef7ff;
}

.v2-notificacao-avatar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0b5cab, #16b86a);
  color: #fff;
  font-weight: 900;
  overflow: hidden;
}

.v2-notificacao-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-notificacao-texto {
  flex: 1;
  min-width: 0;
}

.v2-notificacao-texto strong,
.v2-notificacao-texto small {
  display: block;
}

.v2-notificacao-texto strong {
  font-size: .82rem;
  line-height: 1.18;
  white-space: normal;
}

.v2-notificacao-texto small {
  margin-top: 2px;
  color: var(--v2-muted);
  font-size: .7rem;
  line-height: 1.15;
}

.v2-notificacao-thumb {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  overflow: hidden;
  background: #eaf2fb;
  color: var(--v2-azul-2);
  font-size: 1.2rem;
}

.v2-notificacao-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-notificacao-thumb i {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #fff;
  font-style: normal;
  font-size: .82rem;
}

@media (min-width: 721px) {
  .v2-notificacoes-dropdown {
    width: 320px;
    max-height: 380px;
    padding: 8px;
  }

  .v2-notificacoes-topo {
    padding: 5px 6px 8px;
  }

  .v2-notificacoes-topo strong {
    font-size: .92rem;
  }

  .v2-notificacoes-topo a {
    font-size: .78rem;
  }

  .v2-notificacao-item {
    min-height: 50px;
    gap: 8px;
    padding: 7px 6px;
  }

  .v2-notificacao-avatar {
    width: 30px;
    height: 30px;
    font-size: .82rem;
  }

  .v2-notificacao-texto strong {
    font-size: .76rem;
    line-height: 1.18;
    white-space: normal;
  }

  .v2-notificacao-texto small {
    font-size: .68rem;
    line-height: 1.15;
  }

  .v2-notificacao-thumb {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    font-size: 1rem;
  }

  .v2-notificacao-thumb i {
    width: 18px;
    height: 18px;
    font-size: .68rem;
  }
}

.v2-perfil-topo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 5px 9px 5px 5px;
  border: 1px solid #d7e4f3;
  border-radius: 999px;
  background: #f8fbff;
  color: var(--v2-tinta);
  text-decoration: none;
}

.v2-perfil-topo .v2-notificacao-avatar {
  width: 32px;
  height: 32px;
}

.v2-perfil-topo strong,
.v2-perfil-topo small {
  display: block;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v2-perfil-topo strong {
  font-size: .84rem;
  white-space: nowrap;
}

.v2-perfil-topo small {
  color: var(--v2-muted);
  font-size: .72rem;
}

.v2-notificacoes-vazio {
  margin: 10px 6px 6px;
  color: var(--v2-muted);
  font-size: .92rem;
}

.v2-menu a,
.v2-botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--v2-tinta);
  text-decoration: none;
  font-weight: 800;
  font-size: .92rem;
  white-space: nowrap;
}

.v2-menu a:hover {
  background: #eaf2fb;
  border-color: #c8d9ee;
}

.v2-menu .v2-menu-destaque,
.v2-botao.primario {
  background: var(--v2-azul);
  color: #fff;
  box-shadow: 0 8px 20px rgba(11, 92, 171, .22);
}

.v2-menu .v2-menu-destaque:hover,
.v2-botao.primario:hover {
  background: var(--v2-azul-2);
}

.v2-botao.verde {
  background: var(--v2-verde);
  color: #04170d;
}

.v2-botao.claro {
  background: #fff;
  border-color: var(--v2-borda);
  color: var(--v2-azul-2);
}

.v2-botao.perigo {
  background: #b91c1c;
  color: #fff;
}

.v2-botao.perigo-claro {
  background: #fff7f7;
  border-color: #fecaca;
  color: #991b1b;
}

.v2-exclusao-shell {
  width: min(100%, 980px);
  margin: 38px auto 64px;
  padding: 0 18px;
}

.v2-exclusao-card {
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--v2-sombra);
}

.v2-exclusao-selo {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 12px;
  border-radius: 999px;
  background: #eef7ff;
  color: var(--v2-azul-2);
  font-weight: 900;
  font-size: .8rem;
}

.v2-exclusao-card h1 {
  margin: 14px 0 10px;
  max-width: 760px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1;
  letter-spacing: 0;
}

.v2-exclusao-card h2 {
  margin: 0 0 10px;
  font-size: 1.05rem;
}

.v2-exclusao-card p,
.v2-exclusao-card li {
  color: var(--v2-muted);
  font-size: 1rem;
}

.v2-exclusao-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}

.v2-exclusao-grid > div,
.v2-exclusao-confirmacao {
  padding: 18px;
  border: 1px solid #dbe8f5;
  border-radius: 8px;
  background: #f8fbff;
}

.v2-exclusao-grid ul {
  margin: 0;
  padding-left: 18px;
}

.v2-exclusao-form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.v2-exclusao-form label {
  display: grid;
  gap: 7px;
  color: var(--v2-tinta);
  font-weight: 900;
}

.v2-exclusao-form textarea,
.v2-exclusao-form input[type="text"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #cfe0f2;
  border-radius: 8px;
  background: #fff;
  color: var(--v2-tinta);
  font: inherit;
}

.v2-exclusao-check {
  grid-template-columns: auto 1fr;
  align-items: start;
  padding: 12px;
  border: 1px solid #fee2e2;
  border-radius: 8px;
  background: #fff7f7;
}

.v2-exclusao-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.v2-exclusao-nota {
  padding: 14px;
  border-left: 4px solid var(--v2-azul);
  background: #f6faff;
}

@media (max-width: 720px) {
  .v2-exclusao-shell {
    margin: 20px auto 44px;
    padding: 0 12px;
  }

  .v2-exclusao-grid {
    grid-template-columns: 1fr;
  }

  .v2-exclusao-acoes .v2-botao {
    width: 100%;
  }
}

.v2-perfil-stat-link {
  color: #fff;
  text-decoration: none;
}

.v2-perfil-stat-link:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, .18);
}

.v2-seguidores-shell {
  width: min(1120px, calc(100% - 28px));
  margin: 28px auto 70px;
  display: grid;
  gap: 16px;
}

.v2-seguidores-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #08253f, #0b5cab 68%, #16b86a);
  box-shadow: var(--v2-sombra);
}

.v2-seguidores-identidade {
  display: flex;
  align-items: center;
  gap: 16px;
}

.v2-seguidores-identidade img,
.v2-seguidores-identidade > span,
.v2-seguidor-foto img,
.v2-seguidor-foto span {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, .92);
}

.v2-seguidores-identidade > span,
.v2-seguidor-foto span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--v2-azul);
  font-weight: 900;
}

.v2-seguidores-identidade small {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  font-weight: 900;
}

.v2-seguidores-identidade h1 {
  margin: 8px 0 4px;
  font-size: clamp(1.7rem, 4vw, 3.1rem);
  line-height: 1;
}

.v2-seguidores-identidade p {
  margin: 0;
  color: rgba(255, 255, 255, .9);
}

.v2-seguidores-hero-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.v2-seguidores-privacidade {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--v2-borda);
  border-radius: 10px;
  background: #fff;
}

.v2-seguidores-privacidade label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.v2-seguidores-privacidade strong,
.v2-seguidores-privacidade small {
  display: block;
}

.v2-seguidores-privacidade small {
  color: var(--v2-muted);
}

.v2-seguidores-abas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.v2-seguidores-abas a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border: 1px solid var(--v2-borda);
  border-radius: 10px;
  background: #fff;
  color: var(--v2-azul-2);
  text-decoration: none;
  font-weight: 900;
}

.v2-seguidores-abas a.ativo {
  background: var(--v2-azul);
  border-color: var(--v2-azul);
  color: #fff;
}

.v2-seguidores-abas b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .2);
}

.v2-seguidores-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.v2-seguidor-card,
.v2-seguidores-bloqueio,
.v2-seguidores-vazio,
.v2-seguidores-premium {
  border: 1px solid var(--v2-borda);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(13, 35, 64, .08);
}

.v2-seguidor-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.v2-seguidor-foto {
  display: inline-flex;
  text-decoration: none;
}

.v2-seguidor-foto img,
.v2-seguidor-foto span {
  width: 64px;
  height: 64px;
  border-color: #eef4fb;
}

.v2-seguidor-nome {
  display: inline-block;
  max-width: 100%;
  color: var(--v2-tinta);
  text-decoration: none;
  font-weight: 900;
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.v2-seguidor-card small {
  display: block;
  margin-top: 2px;
  color: var(--v2-muted);
}

.v2-seguidor-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.v2-seguidores-bloqueio,
.v2-seguidores-vazio {
  padding: 22px;
}

.v2-seguidores-bloqueio h2,
.v2-seguidores-premium h2 {
  margin: 0 0 6px;
}

.v2-seguidores-premium {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border-color: #ffd8a3;
  background: linear-gradient(135deg, #fff8ec, #fff);
}

.v2-seguidores-premium small {
  display: inline-flex;
  margin-bottom: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  color: #8a4b00;
  background: #ffe5bd;
  font-weight: 900;
}

.v2-seguidores-premium strong {
  display: block;
  color: #8a4b00;
  font-size: 1.5rem;
}

.v2-seguidores-premium span {
  display: block;
  margin-bottom: 10px;
  color: var(--v2-muted);
}

.v2-premium-shell {
  width: min(900px, calc(100% - 28px));
  margin: 36px auto 80px;
}

.v2-premium-card {
  background: #fff;
  border: 1px solid var(--v2-borda);
  border-radius: 14px;
  padding: 28px;
  box-shadow: var(--v2-sombra);
}

.v2-premium-card > small {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eaf4ff;
  color: var(--v2-azul);
  font-weight: 900;
}

.v2-premium-card h1 {
  margin: 0 0 8px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1;
  color: var(--v2-texto);
}

.v2-premium-card p {
  margin: 0 0 20px;
  color: var(--v2-muted);
}

.v2-premium-opcoes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.v2-premium-opcoes article {
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  padding: 18px;
  background: #f8fbff;
}

.v2-premium-opcoes strong,
.v2-premium-opcoes span,
.v2-premium-opcoes small {
  display: block;
}

.v2-premium-opcoes strong {
  margin-bottom: 6px;
  color: var(--v2-azul);
  font-size: 1.45rem;
}

.v2-premium-opcoes span {
  color: var(--v2-texto);
  font-weight: 800;
}

.v2-premium-opcoes small {
  margin: 6px 0 14px;
  color: var(--v2-muted);
}

.v2-admin-shell {
  width: min(1280px, calc(100% - 28px));
  margin: 30px auto 80px;
  display: grid;
  gap: 18px;
}

.v2-admin-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 26px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #08253f, #0b5cab 60%, #16b86a);
  box-shadow: var(--v2-sombra);
}

.v2-admin-hero small {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  font-weight: 900;
}

.v2-admin-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

.v2-admin-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, .86);
}

.v2-admin-periodos,
.v2-admin-acoes,
.v2-admin-mini-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.v2-admin-periodos a,
.v2-admin-acoes a,
.v2-admin-mini-acoes a,
.v2-admin-mini-acoes button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  color: var(--v2-azul-2);
  text-decoration: none;
  font-weight: 900;
  font: inherit;
  cursor: pointer;
}

.v2-admin-mini-acoes form {
  margin: 0;
}

.v2-admin-periodos a.ativo {
  background: #fff;
  color: #05213d;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}

.v2-admin-acoes {
  padding: 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
}

.v2-admin-busca {
  display: flex;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
}

.v2-admin-busca input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  padding: 11px 12px;
}

.v2-admin-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

.v2-admin-cards article,
.v2-admin-bloco {
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--v2-sombra);
}

.v2-admin-cards article {
  padding: 16px;
}

.v2-admin-cards strong {
  display: block;
  color: var(--v2-azul);
  font-size: 1.8rem;
  line-height: 1;
}

.v2-admin-cards span {
  display: block;
  margin-top: 6px;
  color: var(--v2-muted);
  font-weight: 800;
}

.v2-admin-cards-interno {
  padding: 14px;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.v2-admin-cards-interno article {
  box-shadow: none;
  background: #f7fbff;
}

.v2-admin-cards-interno strong {
  font-size: 1.35rem;
}

.v2-admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr);
  gap: 18px;
}

.v2-admin-bloco {
  overflow: hidden;
}

.v2-admin-bloco-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--v2-borda);
}

.v2-admin-bloco-topo h2 {
  margin: 0;
  font-size: 1.15rem;
}

.v2-admin-bloco-topo a {
  color: var(--v2-azul);
  font-weight: 900;
  text-decoration: none;
}

.v2-admin-lista,
.v2-admin-tabela {
  display: grid;
  gap: 1px;
  background: #e8eef7;
}

.v2-admin-lista article,
.v2-admin-rank {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  color: var(--v2-texto);
  text-decoration: none;
}

.v2-admin-lista.compacta article {
  padding: 10px 14px;
}

.v2-admin-lista strong,
.v2-admin-rank strong {
  display: block;
  margin-bottom: 4px;
}

.v2-admin-lista span,
.v2-admin-rank span {
  color: var(--v2-muted);
  font-size: .9rem;
}

.v2-admin-checkins-lista article.v2-admin-checkin-linha {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 84px 148px minmax(260px, 340px);
  align-items: center;
  gap: 18px;
}

.v2-admin-checkin-info {
  min-width: 0;
}

.v2-admin-checkin-info strong,
.v2-admin-checkin-info span {
  overflow-wrap: anywhere;
}

.v2-admin-checkin-foto {
  width: 74px;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  border-radius: 8px;
  background: #f3f7fb;
  color: var(--v2-muted);
  font-size: .78rem;
  text-align: center;
}

.v2-admin-checkin-foto img {
  width: 74px;
  height: 74px;
  object-fit: cover;
  border-radius: 8px;
}

.v2-admin-checkin-acoes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.v2-admin-checkin-acoes a {
  width: 100%;
  min-height: 42px;
}

.v2-admin-checkin-cancelar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0;
}

.v2-admin-checkin-cancelar input[type="text"] {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--v2-borda);
  border-radius: 6px;
  padding: 8px 10px;
}

.v2-admin-checkin-cancelar .v2-botao {
  width: 100%;
  justify-content: center;
}

.v2-admin-horas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.v2-admin-horas div {
  padding: 14px;
  border-radius: 10px;
  background: #eef7ff;
}

.v2-admin-horas strong,
.v2-admin-horas span {
  display: block;
}

.v2-admin-horas strong {
  color: var(--v2-azul);
  font-size: 1.35rem;
}

.v2-admin-vazio {
  margin: 0;
  padding: 14px;
  background: #fff;
  color: var(--v2-muted);
}

.v2-vida-shell {
  gap: 18px;
}

.v2-vida-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, #06243f, #0b5faa);
  box-shadow: var(--v2-sombra);
}

.v2-vida-identidade {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.v2-vida-identidade img,
.v2-vida-identidade > span {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  flex: 0 0 auto;
  border: 3px solid rgba(255, 255, 255, .65);
  object-fit: cover;
  background: #0f766e;
}

.v2-vida-identidade > span {
  display: grid;
  place-items: center;
  font-size: 2rem;
  font-weight: 950;
}

.v2-vida-identidade small,
.v2-vida-identidade h1,
.v2-vida-identidade p {
  margin: 0;
}

.v2-vida-identidade small {
  color: rgba(255, 255, 255, .78);
  font-weight: 900;
}

.v2-vida-identidade h1 {
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.03;
  margin-top: 5px;
}

.v2-vida-identidade p {
  margin-top: 10px;
  color: rgba(255, 255, 255, .86);
  font-weight: 750;
}

.v2-vida-acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.v2-vida-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
}

.v2-vida-kpis article {
  padding: 16px;
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--v2-sombra);
}

.v2-vida-kpis strong,
.v2-vida-kpis span {
  display: block;
}

.v2-vida-kpis strong {
  color: var(--v2-azul);
  font-size: 1.35rem;
  line-height: 1.1;
}

.v2-vida-kpis span {
  margin-top: 5px;
  color: var(--v2-muted);
  font-weight: 850;
}

.v2-vida-tabs {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 0;
  background: rgba(244, 248, 253, .92);
  backdrop-filter: blur(10px);
}

.v2-vida-tabs a {
  padding: 9px 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  background: #fff;
  color: var(--v2-azul);
  font-weight: 950;
  text-decoration: none;
}

.v2-vida-bloco {
  scroll-margin-top: 86px;
}

.v2-vida-status {
  color: var(--v2-muted);
  font-weight: 850;
  font-size: .9rem;
}

.v2-vida-status.erro {
  color: #b42318;
}

.v2-vida-campos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  padding: 14px;
  background: #f7fbff;
}

.v2-vida-grupo {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
}

.v2-vida-grupo h3 {
  margin: 0 0 6px;
  color: var(--v2-texto);
}

.v2-vida-campo {
  display: grid;
  grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e3ebf6;
  border-radius: 10px;
  background: #f8fbff;
}

.v2-vida-campo span {
  color: var(--v2-muted);
  font-weight: 850;
  font-size: .88rem;
}

.v2-vida-campo strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--v2-texto);
}

.v2-vida-campo > button,
.v2-vida-editor button {
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  background: #fff;
  color: var(--v2-azul);
  font-weight: 950;
  padding: 7px 10px;
  cursor: pointer;
}

.v2-vida-editor {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
}

.v2-vida-editor input,
.v2-vida-editor select,
.v2-vida-editor textarea {
  width: 100%;
  border: 1px solid var(--v2-borda);
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
}

.v2-vida-editor div {
  display: flex;
  gap: 8px;
}

.v2-vida-editor button[data-salvar] {
  border-color: #0ead69;
  background: #16c784;
  color: #061c12;
}

.v2-vida-mini-resumo {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px;
}

.v2-vida-mini-resumo span {
  display: inline-flex;
  padding: 9px 11px;
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  background: #eef7ff;
  color: var(--v2-azul);
  font-weight: 900;
}

.v2-vida-fotos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
  padding: 0 14px 14px;
}

.v2-vida-fotos img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--v2-borda);
}

@media (max-width: 720px) {
  .v2-vida-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 18px;
  }

  .v2-vida-identidade {
    align-items: flex-start;
  }

  .v2-vida-identidade img,
  .v2-vida-identidade > span {
    width: 62px;
    height: 62px;
  }

  .v2-vida-acoes {
    justify-content: stretch;
  }

  .v2-vida-acoes .v2-botao,
  .v2-vida-tabs a {
    flex: 1 1 auto;
    justify-content: center;
  }

  .v2-vida-campos {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .v2-vida-campo {
    grid-template-columns: 1fr auto;
  }

  .v2-vida-campo strong {
    grid-column: 1 / -1;
    order: 3;
  }
}

.v2-perfil-stats > .v2-perfil-stat-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 8px;
  background: rgba(255, 255, 255, .12);
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.v2-perfil-stats > .v2-perfil-stat-link strong,
.v2-perfil-stat-atividade strong {
  color: inherit;
}

.v2-perfil-stat-atividade strong {
  font-size: clamp(.78rem, 1vw, .95rem);
  white-space: nowrap;
}

.v2-botao.pequeno {
  min-height: 32px;
  padding: 7px 10px;
  font-size: .82rem;
}

.v2-botao.whatsapp {
  background: #25d366;
  color: #052012;
}

.v2-menu-botao {
  display: none;
  width: 44px;
  height: 42px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
}

.v2-menu-botao span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: var(--v2-tinta);
}

.v2-main {
  min-height: calc(100vh - 190px);
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.v2-topo,
.v2-marca,
.v2-menu,
.v2-feed-post,
.v2-perfil-publico,
.v2-perfil-hero,
.v2-perfil-feed {
  min-width: 0;
}

.v2-feed-post,
.v2-perfil-publico,
.v2-perfil-hero,
.v2-perfil-feed {
  max-width: 100%;
}

.v2-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 28px;
  align-items: center;
  padding: clamp(36px, 6vw, 76px) clamp(16px, 4vw, 54px) 34px;
  background:
    linear-gradient(135deg, rgba(8, 59, 114, .96), rgba(11, 92, 171, .9)),
    url("capa_ecossistema.jpg") center/cover;
  color: #fff;
}

.v2-hero h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.v2-hero p {
  max-width: 660px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: clamp(1rem, 2vw, 1.18rem);
}

.v2-hero-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.v2-painel-rapido {
  background: rgba(255, 255, 255, .96);
  color: var(--v2-tinta);
  border-radius: 8px;
  padding: 22px;
  box-shadow: var(--v2-sombra);
}

.v2-painel-rapido h2 {
  margin: 0 0 14px;
  font-size: 1.25rem;
}

.v2-atalhos {
  display: grid;
  gap: 10px;
}

.v2-atalho {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  color: var(--v2-tinta);
  text-decoration: none;
  background: #f8fbff;
}

.v2-atalho strong {
  display: block;
}

.v2-atalho span {
  color: var(--v2-muted);
  font-size: .9rem;
}

.v2-faixa {
  padding: 28px clamp(16px, 4vw, 54px);
}

.v2-secao-topo {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  max-width: 1160px;
  margin: 0 auto 16px;
}

.v2-secao-topo h2 {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.v2-secao-topo p {
  margin: 6px 0 0;
  max-width: 720px;
  color: var(--v2-muted);
}

.v2-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  max-width: 1160px;
  margin: 0 auto;
}

.v2-card {
  display: flex;
  flex-direction: column;
  min-height: 245px;
  padding: 18px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: var(--v2-card);
  box-shadow: 0 10px 30px rgba(20, 40, 70, .07);
}

.v2-card small {
  color: var(--v2-azul);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.v2-card h3 {
  margin: 10px 0 8px;
  font-size: 1.2rem;
}

.v2-card p {
  margin: 0;
  color: var(--v2-muted);
}

.v2-card .v2-botao {
  margin-top: auto;
  align-self: flex-start;
}

.v2-banda {
  margin-top: 26px;
  background: #0d223a;
  color: #fff;
}

.v2-banda .v2-secao-topo p {
  color: rgba(255, 255, 255, .75);
}

.v2-banda .v2-card {
  background: #132b48;
  border-color: rgba(255, 255, 255, .12);
  color: #fff;
}

.v2-banda .v2-card p {
  color: rgba(255, 255, 255, .72);
}

.v2-rodape {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 24px clamp(16px, 4vw, 54px);
  background: #101820;
  color: #dce7f3;
}

.v2-rodape strong,
.v2-rodape span {
  display: block;
}

.v2-rodape span {
  color: #9fb0c2;
}

.v2-rodape-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.v2-rodape a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

.v2-gzinho-ajuda {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 1002;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  pointer-events: none;
}

.v2-gzinho-botao {
  width: 68px;
  height: 68px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto;
  padding: 0;
}

.v2-gzinho-botao img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transform: scale(1.08);
  transform-origin: center center;
}

.v2-gzinho-balao {
  display: none;
  width: min(300px, calc(100vw - 110px));
  padding: 12px 14px;
  border: 1px solid #c8d9ee;
  border-radius: 8px;
  background: #fff;
  color: var(--v2-tinta);
  box-shadow: 0 16px 38px rgba(13, 35, 64, .18);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.35;
}

.v2-gzinho-ajuda.aberto .v2-gzinho-balao {
  display: block;
}

.v2-whats {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1001;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #052411;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(37, 211, 102, .34);
}

.v2-auth,
.v2-pagina {
  padding: clamp(28px, 5vw, 54px) clamp(16px, 4vw, 54px);
}

.v2-auth {
  min-height: calc(100vh - 210px);
  display: grid;
  place-items: start center;
  background:
    radial-gradient(circle at 18% 12%, rgba(22, 184, 106, .14), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(11, 92, 171, .16), transparent 30%);
}

.v2-auth-card {
  width: min(100%, 560px);
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--v2-sombra);
}

.v2-auth-card small {
  color: var(--v2-azul);
  font-weight: 900;
  text-transform: uppercase;
}

.v2-auth-card h1,
.v2-pagina h1 {
  margin: 8px 0;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.08;
}

.v2-auth-card p {
  margin: 0 0 18px;
  color: var(--v2-muted);
}

.v2-alerta {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 8px;
  font-weight: 700;
}

.v2-alerta.info {
  color: #0a3c72;
  background: #e7f2ff;
  border: 1px solid #bfddff;
}

.v2-alerta.erro {
  color: #8a1c22;
  background: #fff0f1;
  border: 1px solid #ffc9ce;
}

.v2-alerta.sucesso {
  color: #08633b;
  background: #e7f8ef;
  border: 1px solid #b8edcf;
}

.v2-alerta.aviso {
  color: #805000;
  background: #fff7df;
  border: 1px solid #f5d987;
}

.v2-form {
  display: grid;
  gap: 10px;
}

.v2-form label {
  font-weight: 800;
}

.v2-form input {
  width: 100%;
  min-height: 46px;
  padding: 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  color: var(--v2-tinta);
  background: #fff;
  font-size: 1rem;
}

.v2-form input:focus {
  outline: 3px solid rgba(11, 92, 171, .16);
  border-color: var(--v2-azul);
}

.v2-check-linha {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #f7fbff;
  color: var(--v2-muted);
  font-weight: 700;
}

.v2-form .v2-check-linha input {
  width: auto;
  min-height: 0;
  margin-top: 3px;
  accent-color: var(--v2-verde);
}

.v2-cadastro-passos {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #b8edcf;
  border-radius: 8px;
  background: #e7f8ef;
  color: #075331;
  font-weight: 700;
}

.v2-cadastro-passos strong {
  color: #04351f;
  font-size: 1.05rem;
}

.v2-auth-links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.v2-auth-links a {
  color: var(--v2-azul);
  font-weight: 800;
  text-decoration: none;
}

.v2-vazio,
.v2-compras-lista {
  max-width: 980px;
  margin: 0 auto;
}

.v2-vazio {
  padding: 28px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(20, 40, 70, .07);
}

.v2-vazio h2 {
  margin: 0 0 8px;
}

.v2-vazio p {
  margin: 0 0 16px;
  color: var(--v2-muted);
}

.v2-compras-lista {
  display: grid;
  gap: 16px;
}

.v2-compra-card {
  padding: 18px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(20, 40, 70, .07);
}

.v2-compra-card.pago {
  border-color: #b9ebcf;
  background: #f5fff9;
}

.v2-compra-card.pendente {
  border-color: #ffd7a5;
  background: #fffaf2;
}

.v2-compra-topo,
.v2-compra-meta,
.v2-compra-resumo,
.v2-compra-acoes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.v2-compra-topo small {
  display: block;
  color: var(--v2-muted);
  font-weight: 900;
}

.v2-compra-topo h2 {
  margin: 4px 0 0;
  font-size: 1.25rem;
}

.v2-status {
  padding: 6px 10px;
  border-radius: 999px;
  background: #0d223a;
  color: #fff;
  font-weight: 900;
}

.v2-compra-meta {
  justify-content: flex-start;
  margin-top: 10px;
  color: var(--v2-muted);
  font-size: .92rem;
}

.v2-pagamentos-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.v2-pagamento-linha {
  padding: 11px 12px;
  border-radius: 8px;
  border: 1px solid rgba(120, 144, 170, .22);
  background: rgba(255, 255, 255, .78);
}

.v2-pagamento-linha strong,
.v2-pagamento-linha span {
  display: block;
}

.v2-pagamento-linha strong {
  font-size: .92rem;
}

.v2-pagamento-linha span {
  margin-top: 3px;
  color: var(--v2-muted);
  font-size: .88rem;
}

.v2-pagamento-linha.ok {
  border-color: #b9ebcf;
  background: #edfff5;
}

.v2-pagamento-linha.ok strong {
  color: #08733e;
}

.v2-pagamento-linha.pendente {
  border-color: #ffd7a5;
  background: #fff8ec;
}

.v2-pagamento-linha.pendente strong {
  color: #9a5a00;
}

.v2-compra-itens {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.v2-compra-item {
  display: grid;
  grid-template-columns: minmax(180px, 1.8fr) .5fr .8fr 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(120, 144, 170, .18);
}

.v2-compra-item span {
  color: var(--v2-muted);
}

.v2-compra-resumo {
  justify-content: flex-end;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(120, 144, 170, .2);
}

.v2-compra-acoes {
  justify-content: flex-end;
  margin-top: 14px;
}

.v2-gbits-hero {
  max-width: 1160px;
  margin: 0 auto 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: clamp(22px, 4vw, 34px);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #083b72, #0b5cab 58%, #16b86a);
  box-shadow: var(--v2-sombra);
}

.v2-gbits-hero small {
  font-weight: 900;
  text-transform: uppercase;
}

.v2-gbits-hero h1 {
  margin: 6px 0;
  color: #fff;
}

.v2-gbits-hero p {
  margin: 0;
  color: rgba(255, 255, 255, .86);
}

.v2-gbits-saldo {
  min-width: 210px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 8px;
  background: rgba(255, 255, 255, .12);
}

.v2-gbits-saldo span,
.v2-gbits-saldo strong {
  display: block;
}

.v2-gbits-saldo strong {
  font-size: 2rem;
}

.v2-gbits-grid,
.v2-gbits-bloco {
  max-width: 1160px;
  margin: 0 auto 18px;
}

.v2-gbits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.v2-gbits-card,
.v2-gbits-bloco {
  padding: 18px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(20, 40, 70, .07);
}

.v2-gbits-card h2,
.v2-gbits-bloco h2 {
  margin: 0 0 10px;
}

.v2-gbits-card p {
  margin: 7px 0;
  color: var(--v2-muted);
}

.v2-gbits-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.v2-gbits-acoes-largas {
  max-width: 1160px;
  margin: 0 auto 18px;
}

.v2-gbits-acoes-largas .v2-botao {
  flex: 1 1 220px;
}

.v2-gbits-bloco.representante {
  background: #effff5;
  border-color: #b9ebcf;
}

.v2-copy-alerta {
  display: none;
  max-width: 1160px;
  margin: -6px auto 18px;
  padding: 10px 12px;
  border-radius: 8px;
  color: #08733e;
  background: #edfff5;
  border: 1px solid #b9ebcf;
  font-weight: 800;
}

.v2-copy-alerta.visivel {
  display: block;
}

.v2-tabela-responsiva {
  overflow-x: auto;
}

.v2-tabela-responsiva table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.v2-tabela-responsiva th,
.v2-tabela-responsiva td {
  padding: 10px;
  border-bottom: 1px solid var(--v2-borda);
  text-align: left;
}

.v2-tabela-responsiva th {
  background: #edf4fb;
}

.v2-indicados-lista,
.v2-checkins-lista {
  display: grid;
  gap: 10px;
}

.v2-indicado,
.v2-checkin-card {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid var(--v2-borda);
  background: #f8fbff;
}

.v2-indicado.nivel2 {
  margin-left: 24px;
  background: #f4fff8;
}

.v2-indicado.nivel3 {
  margin-left: 48px;
  background: #fff9ef;
}

.v2-indicado span,
.v2-checkin-card span {
  color: var(--v2-muted);
  font-size: .92rem;
}

.v2-indicado a {
  color: var(--v2-azul);
  font-weight: 800;
  text-decoration: none;
}

.v2-checkin-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.v2-checkin-card img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
}

.v2-checkin-card.cancelado {
  border-color: #f0b8bd;
  background: #fff5f5;
}

.v2-checkin-card.cancelado strong,
.v2-checkin-card.cancelado span {
  color: #7a1f1f;
}

.v2-recolhivel-corpo {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(204, 214, 226, .72);
}

.v2-recolhivel-topo {
  width: 100%;
  margin: 0;
  padding: 2px 0;
  border: 0 !important;
  outline: 0;
  appearance: none;
  background: transparent !important;
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-shadow: none !important;
}

.v2-recolhivel-topo:hover h2 {
  color: var(--v2-azul);
}

.v2-recolhivel-topo:focus-visible {
  outline: 3px solid rgba(10, 102, 194, .18);
  outline-offset: 8px;
  border-radius: 8px;
}

.v2-recolhivel-indicador {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f7fb;
  color: #496176;
  font-size: .84rem;
  font-weight: 800;
  white-space: nowrap;
}

.v2-recolhivel-indicador::after {
  content: "▾";
  font-size: .85rem;
}

.v2-recolhivel-topo[aria-expanded="true"] .v2-recolhivel-indicador::after {
  content: "▴";
}

.v2-recolhivel-indicador::after {
  content: "v";
  font-size: .78rem;
}

.v2-recolhivel-topo[aria-expanded="true"] .v2-recolhivel-indicador::after {
  content: "^";
}

.v2-gbits-bloco.v2-recolhivel {
  padding: 20px 22px;
  box-shadow: 0 8px 22px rgba(20, 40, 70, .045);
}

.v2-gbits-bloco.v2-recolhivel .v2-secao-topo {
  margin-bottom: 0;
}

.v2-gbits-bloco.v2-recolhivel .v2-secao-topo h2 {
  margin-bottom: 4px;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}

.v2-gbits-bloco.v2-recolhivel .v2-secao-topo p {
  margin-top: 0;
}

.v2-feed-page {
  max-width: 1380px;
  margin: 0 auto;
  padding: clamp(12px, 3vw, 24px);
}

.v2-feed-layout {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(520px, 720px) minmax(180px, 260px);
  gap: 18px;
  align-items: start;
}

.v2-feed-centro {
  min-width: 0;
}

.v2-feed-lateral {
  position: sticky;
  top: 86px;
  display: grid;
  gap: 14px;
}

.v2-feed-side-card {
  padding: 16px;
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(20, 40, 70, .06);
}

.v2-feed-side-card strong,
.v2-feed-side-card span,
.v2-feed-side-card small {
  display: block;
}

.v2-feed-side-card span {
  margin-top: 6px;
  color: var(--v2-muted);
  font-size: .92rem;
}

.v2-feed-side-card small {
  color: var(--v2-azul);
  font-weight: 900;
  text-transform: uppercase;
}

.v2-feed-side-card.anuncio {
  min-height: 220px;
  background: linear-gradient(180deg, #ffffff, #eef7ff);
}

.v2-feed-hero,
.v2-feed-compositor,
.v2-feed-post {
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(20, 40, 70, .07);
}

.v2-feed-post:target,
.v2-feed-destaque-ancora {
  outline: 3px solid rgba(22, 184, 106, .55);
  box-shadow: 0 0 0 8px rgba(22, 184, 106, .12), 0 14px 34px rgba(14, 35, 60, .14);
}

.v2-feed-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 18px;
  background: linear-gradient(135deg, #101820, #0b5cab);
  color: #fff;
}

.v2-feed-hero small {
  font-weight: 900;
  text-transform: uppercase;
}

.v2-feed-hero h1 {
  margin: 6px 0;
  color: #fff;
}

.v2-feed-hero p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
}

.v2-feed-compositor {
  margin-bottom: 14px;
  padding: 14px;
}

.v2-feed-compositor textarea {
  width: 100%;
  min-height: 86px;
  resize: vertical;
  padding: 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  font: inherit;
}

.v2-feed-form-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.v2-feed-upload,
.v2-feed-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #f8fbff;
  font-weight: 800;
}

.v2-feed-upload input {
  display: none;
}

.v2-feed-toggle {
  gap: 8px;
}

.v2-feed-lista {
  display: grid;
  gap: 14px;
}

.v2-feed-preview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.v2-feed-preview-item {
  display: grid;
  place-items: center;
  min-height: 120px;
  border: 1px solid var(--v2-borda);
  border-radius: 10px;
  background: #0f172a;
  overflow: hidden;
  color: #fff;
  font-size: .85rem;
  text-align: center;
}

.v2-feed-preview-item img,
.v2-feed-preview-item video {
  width: 100%;
  height: 180px;
  object-fit: contain;
}

.v2-feed-post {
  overflow: hidden;
}

.v2-feed-post-topo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}

.v2-feed-post-topo > div {
  flex: 1 1 auto;
  min-width: 0;
}

.v2-feed-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #0b5cab, #16b86a);
  font-weight: 900;
  overflow: hidden;
}

.v2-feed-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-feed-autor-link,
.v2-feed-nome-link {
  color: inherit;
  text-decoration: none;
}

.v2-feed-nome-link:hover {
  color: var(--v2-azul);
}

.v2-feed-post-topo strong,
.v2-feed-post-topo span {
  display: block;
}

.v2-feed-post-topo span {
  color: var(--v2-muted);
  font-size: .86rem;
}

.v2-feed-seguir {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 5px;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid #c9d8ea;
  border-radius: 999px;
  background: #fff;
  color: var(--v2-azul-2);
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
}

.v2-feed-seguir span {
  display: inline;
  color: inherit;
  font-size: .82rem;
}

.v2-feed-seguir b {
  font-weight: 900;
}

.v2-feed-seguir.seguindo {
  background: #eefdf5;
  border-color: rgba(22, 184, 106, .42);
  color: #0b6b40;
}

.v2-feed-seguir.carregando {
  opacity: .7;
  cursor: wait;
}

.v2-feed-acao-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid #d7e2f0;
  border-radius: 999px;
  background: #fff;
  color: var(--v2-muted);
  font-size: .74rem;
  font-weight: 900;
  cursor: pointer;
}

.v2-feed-acao-mini.perigo {
  color: #b42318;
}

.v2-feed-conteudo {
  padding: 0 14px 12px;
  color: var(--v2-tinta);
}

.v2-feed-conteudo p {
  margin: 0 0 8px;
}

.v2-gconect-feed-link {
  display: grid;
  gap: 4px;
  margin: 10px 0 2px;
  padding: 12px;
  border: 1px solid #c8d9ee;
  border-radius: 8px;
  background: #f4f8fd;
  color: inherit;
  text-decoration: none;
}

.v2-gconect-feed-link span {
  color: var(--v2-azul);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.v2-gconect-feed-link strong {
  color: var(--v2-tinta);
  font-size: 1rem;
}

.v2-gconect-feed-link em {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--v2-azul);
  color: #fff;
  font-weight: 800;
  font-style: normal;
  text-decoration: none;
}

.v2-feed-goferta-urgencia {
  display: inline-flex;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff7ed;
  color: #9a3412;
  font-weight: 900;
}

.v2-feed-goferta-botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  background: #16a34a;
  color: #fff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(22, 163, 74, .18);
}

.v2-feed-goferta-botao:hover {
  filter: brightness(.96);
}

.v2-feed-midias {
  display: grid;
  gap: 2px;
  background: #e8eef6;
}

.v2-feed-midias img,
.v2-feed-midias video {
  display: block;
  width: 100%;
  max-height: 680px;
  object-fit: contain;
  background: #0f172a;
}

.v2-feed-video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 8px;
}

.v2-feed-reacoes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--v2-borda);
}

.v2-feed-bonus-checkin {
  display: grid;
  gap: 3px;
  margin: 10px 12px 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #b9ebcf;
  background: #edfff5;
}

.v2-feed-bonus-checkin strong {
  color: #08733e;
}

.v2-feed-bonus-checkin span {
  color: var(--v2-muted);
  font-size: .92rem;
}

.v2-feed-reacao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  background: #fff;
  color: var(--v2-tinta);
  font-weight: 900;
  cursor: pointer;
}

.v2-feed-reacao b {
  color: var(--v2-muted);
}

.v2-feed-reacao.selecionado {
  color: #fff;
  background: #e11d48;
  border-color: #e11d48;
}

.v2-feed-reacao.selecionado b {
  color: #fff;
}

.v2-feed-reacao span,
.v2-feed-like-checkin span {
  white-space: nowrap;
}

.v2-feed-checkin .v2-feed-conteudo p {
  margin: 0 0 6px;
}

.v2-feed-reacoes-checkin {
  grid-template-columns: 1fr;
}

.v2-feed-like-checkin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  background: #fff;
  color: var(--v2-tinta);
  font-weight: 900;
  cursor: pointer;
}

.v2-feed-like-checkin.selecionado {
  color: #fff;
  background: #e11d48;
  border-color: #e11d48;
}

.v2-feed-comentarios {
  padding: 0 12px 12px;
}

.v2-feed-comentarios-lista {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.v2-feed-comentario {
  display: grid;
  gap: 4px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f5f8fc;
}

.v2-feed-comentario.resposta {
  margin-left: 26px;
  background: #f8fafc;
  border-left: 2px solid #d7e2f0;
}

.v2-feed-comentario-nome {
  color: var(--v2-tinta);
  font-weight: 900;
  text-decoration: none;
}

.v2-feed-comentario-nome:hover {
  color: var(--v2-azul);
}

.v2-feed-comentario-texto {
  margin-left: 5px;
  color: var(--v2-muted);
  overflow-wrap: anywhere;
}

.v2-feed-comentario-texto.editando {
  display: none;
}

.v2-feed-comentario-editar {
  display: grid;
  gap: 7px;
  margin-top: 5px;
}

.v2-feed-comentario-editar textarea {
  width: 100%;
  min-height: 58px;
  resize: vertical;
  border: 1px solid #c9d8ea;
  border-radius: 10px;
  padding: 9px 10px;
  background: #fff;
  color: var(--v2-tinta);
  font: inherit;
  font-size: .88rem;
}

.v2-feed-comentario-editar-acoes {
  display: flex;
  align-items: center;
  gap: 6px;
}

.v2-feed-comentario-meta,
.v2-feed-comentario-reacoes {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.v2-feed-comentario-meta small {
  color: #7a8798;
  font-size: .72rem;
}

.v2-feed-comentario-meta button,
.v2-feed-comentario-reacoes button {
  border: 0;
  background: transparent;
  color: #5f6f84;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}

.v2-feed-comentario-meta button:hover {
  color: var(--v2-azul);
}

.v2-feed-comentario-reacoes {
  gap: 4px;
}

.v2-comentario-reacao {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 20px;
  padding: 1px 4px;
  border-radius: 999px;
}

.v2-comentario-reacao.selecionado {
  background: #eaf2fb;
}

.v2-comentario-reacao b {
  color: #6b778a;
  font-size: .68rem;
}

.v2-feed-comentario-respostas {
  display: grid;
  gap: 6px;
  margin-top: 4px;
}

.v2-feed-comentario-responder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  margin-top: 4px;
}

.v2-feed-comentario-responder[hidden] {
  display: none;
}

.v2-feed-comentario-responder textarea {
  resize: none;
  border: 1px solid #d7e2f0;
  border-radius: 999px;
  padding: 8px 10px;
  font: inherit;
  font-size: .88rem;
}

.v2-feed-comentario-responder button {
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--v2-azul);
  color: #fff;
  font-weight: 900;
}

.v2-feed-comentar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.v2-feed-comentar textarea {
  resize: none;
  min-height: 42px;
  max-height: 110px;
  padding: 10px;
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  font: inherit;
}

.v2-feed-comentar button {
  border: 0;
  border-radius: 999px;
  background: var(--v2-azul);
  color: #fff;
  font-weight: 900;
  padding: 0 16px;
}

.v2-feed-status {
  padding: 16px;
  color: var(--v2-muted);
  text-align: center;
  font-weight: 800;
}

.v2-voltar-topo {
  position: fixed;
  right: 18px;
  bottom: 84px;
  z-index: 1002;
  display: none;
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: var(--v2-azul);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(11, 92, 171, .28);
  cursor: pointer;
}

.v2-voltar-topo.visivel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.v2-feed-sentinela {
  height: 24px;
}

@media (max-width: 980px) {
  .v2-topo {
    align-items: center;
  }

  .v2-notificacoes-mobile {
    display: block;
  }

  .v2-notificacoes-desktop {
    display: none;
  }

  .v2-menu-botao {
    display: block;
  }

  .v2-menu {
    position: absolute;
    left: 12px;
    right: 12px;
    top: calc(100% + 8px);
    display: none;
    align-items: stretch;
    gap: 7px;
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--v2-borda);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--v2-sombra);
  }

  .v2-menu.aberto {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-menu a {
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border-color: #e3ebf5;
    background: #f8fbff;
    font-size: .9rem;
    text-align: center;
  }

  .v2-menu .v2-menu-destaque {
    background: var(--v2-azul);
  }

  .v2-hero {
    grid-template-columns: 1fr;
  }

  .v2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .v2-topo {
    padding: 10px 14px;
    gap: 8px;
    width: 100%;
    max-width: 100vw;
  }

  .v2-marca {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100vw - 136px);
    gap: 9px;
  }

  .v2-marca small {
    display: none;
  }

  .v2-logo {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .v2-gzinho-ajuda {
    display: none;
  }

  .v2-marca strong {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-notificacoes-mobile,
  .v2-menu-botao {
    flex: 0 0 auto;
  }

  .v2-notificacoes-mobile {
    margin-left: 0;
  }

  .v2-menu {
    left: 10px;
    right: 10px;
    top: calc(100% + 6px);
    gap: 6px;
    max-height: calc(100vh - 86px);
    padding: 9px;
  }

  .v2-menu.aberto {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-menu a {
    min-height: 39px;
    padding: 8px 9px;
    font-size: .86rem;
  }

  .v2-menu .v2-perfil-topo,
  .v2-menu .v2-menu-destaque {
    grid-column: 1 / -1;
  }

  .v2-menu .v2-perfil-topo {
    justify-content: flex-start;
    gap: 9px;
    text-align: left;
  }

  .v2-menu .v2-perfil-topo strong,
  .v2-menu .v2-perfil-topo small {
    max-width: none;
  }

  .v2-hero {
    padding-top: 34px;
  }

  .v2-hero-acoes,
  .v2-secao-topo,
  .v2-rodape {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-botao {
    width: 100%;
  }

  .v2-grid {
    grid-template-columns: 1fr;
  }

  .v2-card {
    min-height: auto;
  }

  .v2-auth-links {
    flex-direction: column;
  }

  .v2-compra-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
  }

  .v2-pagina {
    padding-left: 10px;
    padding-right: 10px;
  }

  .v2-compra-card {
    padding: 14px;
  }

  .v2-compra-topo {
    align-items: flex-start;
  }

  .v2-compra-topo h2 {
    font-size: 1.08rem;
  }

  .v2-status {
    align-self: flex-start;
  }

  .v2-pagamentos-status {
    grid-template-columns: 1fr;
  }

  .v2-compra-item strong {
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(120, 144, 170, .2);
  }

  .v2-compra-item span[data-label] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
  }

  .v2-compra-item span[data-label]::before {
    content: attr(data-label);
    color: var(--v2-muted);
    font-weight: 800;
  }

  .v2-compra-resumo,
  .v2-compra-acoes {
    justify-content: stretch;
  }

  .v2-gbits-hero,
  .v2-gbits-grid {
    grid-template-columns: 1fr;
  }

  .v2-gbits-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-gbits-saldo {
    min-width: 0;
  }

  .v2-gbits-acoes .v2-botao,
  .v2-gbits-acoes button {
    width: 100%;
  }

  .v2-indicado.nivel2,
  .v2-indicado.nivel3 {
    margin-left: 0;
  }

  .v2-checkin-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  body.v2-body {
    background: #eef4fb;
  }

  .v2-gbits {
    padding: 10px;
  }

  .v2-gbits-hero {
    position: relative;
    margin: 0 0 12px;
    padding: 18px;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(8, 59, 114, .22);
  }

  .v2-gbits-hero h1 {
    font-size: 1.65rem;
  }

  .v2-gbits-saldo {
    border-radius: 14px;
    background: rgba(255, 255, 255, .16);
  }

  .v2-gbits-saldo strong {
    font-size: 2.35rem;
    line-height: 1.05;
  }

  .v2-gbits-grid,
  .v2-gbits-bloco,
  .v2-gbits-acoes-largas,
  .v2-copy-alerta {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .v2-gbits-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 12px;
  }

  .v2-gbits-card,
  .v2-gbits-bloco,
  .v2-vazio {
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 26px rgba(20, 40, 70, .08);
  }

  .v2-gbits-card h2,
  .v2-gbits-bloco h2,
  .v2-vazio h2 {
    font-size: 1.12rem;
  }

  .v2-gbits-card p {
    display: grid;
    gap: 2px;
    margin: 9px 0;
    padding: 10px;
    border-radius: 10px;
    background: #f7fbff;
  }

  .v2-gbits-card p strong {
    color: var(--v2-tinta);
  }

  .v2-gbits-acoes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .v2-gbits-acoes-largas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-bottom: 12px;
  }

  .v2-gbits-acoes .v2-botao,
  .v2-gbits-acoes button,
  .v2-gbits-acoes-largas .v2-botao,
  .v2-gbits-acoes-largas button {
    width: 100%;
    min-height: 46px;
    padding: 10px 11px;
    border-radius: 12px;
    white-space: normal;
    text-align: center;
    font-size: .92rem;
  }

  .v2-gbits-acoes-largas .v2-botao:first-child {
    grid-column: 1 / -1;
  }

  .v2-gbits-bloco .v2-secao-topo {
    margin-bottom: 10px;
  }

  .v2-gbits-bloco .v2-secao-topo h2 {
    font-size: 1.25rem;
  }

  .v2-gbits-bloco .v2-secao-topo p {
    font-size: .92rem;
  }

  .v2-tabela-responsiva {
    overflow: visible;
  }

  .v2-tabela-responsiva table,
  .v2-tabela-responsiva thead,
  .v2-tabela-responsiva tbody,
  .v2-tabela-responsiva tr,
  .v2-tabela-responsiva th,
  .v2-tabela-responsiva td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .v2-tabela-responsiva thead {
    display: none;
  }

  .v2-tabela-responsiva tr {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid var(--v2-borda);
    border-radius: 12px;
    background: #f8fbff;
  }

  .v2-tabela-responsiva td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid rgba(120, 144, 170, .16);
  }

  .v2-tabela-responsiva td:last-child {
    border-bottom: 0;
  }

  .v2-tabela-responsiva td:nth-child(1)::before { content: "ID"; }
  .v2-tabela-responsiva td:nth-child(2)::before { content: "Atividade"; }
  .v2-tabela-responsiva td:nth-child(3)::before { content: "Local"; }
  .v2-tabela-responsiva td:nth-child(4)::before { content: "Horário"; }
  .v2-tabela-responsiva td:nth-child(5)::before { content: "Dia"; }
  .v2-tabela-responsiva td:nth-child(6)::before { content: "Ações"; }

  .v2-tabela-responsiva td::before {
    flex: 0 0 92px;
    color: var(--v2-muted);
    font-weight: 900;
  }

  .v2-indicados-lista,
  .v2-checkins-lista {
    gap: 10px;
  }

  .v2-indicado {
    position: relative;
    gap: 7px;
    padding: 13px 13px 13px 16px;
    border-radius: 14px;
    border: 1px solid var(--v2-borda);
    background: #fff;
    box-shadow: 0 8px 22px rgba(20, 40, 70, .06);
  }

  .v2-indicado::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 999px;
    background: var(--v2-azul);
  }

  .v2-indicado.nivel2,
  .v2-indicado.nivel3 {
    margin-left: 0;
  }

  .v2-indicado.nivel2::before {
    background: var(--v2-verde);
  }

  .v2-indicado.nivel3::before {
    background: #f59e0b;
  }

  .v2-indicado strong {
    font-size: .98rem;
    line-height: 1.25;
  }

  .v2-indicado span {
    display: block;
    overflow-wrap: anywhere;
  }

  .v2-checkin-card {
    display: grid;
    grid-template-columns: 1fr 72px;
    gap: 12px;
    align-items: center;
    padding: 13px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20, 40, 70, .06);
  }

  .v2-checkin-card strong {
    display: block;
    line-height: 1.3;
  }

  .v2-checkin-card img {
    width: 72px;
    height: 72px;
    border-radius: 12px;
  }
}

@media (max-width: 420px) {
  .v2-gbits-acoes-largas {
    grid-template-columns: 1fr;
  }

  .v2-checkin-card {
    grid-template-columns: 1fr;
  }

  .v2-checkin-card img {
    width: 100%;
    height: 150px;
  }

  .v2-feed-page {
    padding: 8px;
  }

  .v2-feed-layout {
    display: block;
  }

  .v2-feed-lateral {
    display: none;
  }

  .v2-feed-hero,
  .v2-feed-compositor,
  .v2-feed-post {
    border-radius: 14px;
  }

  .v2-feed-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-feed-form-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v2-feed-reacoes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-feed-reacao {
    min-height: 42px;
  }

  .v2-feed-comentar {
    grid-template-columns: 1fr;
  }

  .v2-feed-comentar textarea {
    border-radius: 12px;
  }

  .v2-feed-comentar button {
    min-height: 40px;
  }
}

@media (min-width: 721px) and (max-width: 1100px) {
  .v2-feed-layout {
    grid-template-columns: minmax(0, 720px);
    justify-content: center;
  }

  .v2-feed-lateral {
    display: none;
  }
}

.v2-notificacoes-pagina {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(18px, 4vw, 44px) 16px;
}

.v2-notificacoes-cabeca {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.v2-notificacoes-cabeca small {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eaf2fb;
  color: var(--v2-azul-2);
  font-weight: 900;
}

.v2-notificacoes-cabeca h1 {
  margin: 10px 0 4px;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  line-height: 1.05;
}

.v2-notificacoes-cabeca p {
  margin: 0;
  color: var(--v2-muted);
}

.v2-notificacoes-lista {
  display: grid;
  gap: 10px;
}

.v2-notificacao-linha {
  min-height: 72px;
  padding: 14px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(13, 35, 64, .08);
}

.v2-notificacao-linha strong,
.v2-notificacao-linha small {
  display: block;
}

.v2-notificacao-linha small {
  margin-top: 3px;
  color: var(--v2-muted);
}

.v2-notificacoes-vazio-card {
  display: grid;
  gap: 4px;
  padding: 18px;
}

.v2-perfil-publico {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(16px, 4vw, 42px) 16px;
}

.v2-perfil-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  padding: clamp(18px, 4vw, 28px);
  border-radius: 12px;
  background:
    radial-gradient(circle at 18% 10%, rgba(22, 184, 106, .18), transparent 34%),
    linear-gradient(135deg, #083b72, #0b5cab);
  color: #fff;
  box-shadow: var(--v2-sombra);
}

.v2-perfil-hero .v2-feed-avatar {
  width: 86px;
  height: 86px;
  border: 3px solid rgba(255, 255, 255, .75);
  font-size: 2rem;
}

.v2-perfil-hero small,
.v2-perfil-hero p {
  max-width: 100%;
  color: rgba(255, 255, 255, .82);
  overflow-wrap: anywhere;
}

.v2-perfil-hero h1 {
  margin: 3px 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.05;
}

.v2-perfil-nome-linha {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.v2-perfil-seguir-mini {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 12px 6px 8px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: #16b86a;
  color: #04170d;
  font-size: .92rem;
  font-weight: 900;
  cursor: pointer;
}

.v2-perfil-seguir-mini span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .82);
}

.v2-perfil-seguir-mini.seguindo {
  background: rgba(255, 255, 255, .16);
  color: #fff;
}

.v2-perfil-seguir-mini.carregando {
  opacity: .72;
  cursor: wait;
}

.v2-perfil-stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
  width: 100%;
}

.v2-perfil-stats span,
.v2-perfil-stats a {
  min-width: 0;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 8px;
  background: rgba(255, 255, 255, .12);
  text-align: center;
  overflow: hidden;
  overflow-wrap: anywhere;
  color: #fff;
  text-decoration: none;
}

.v2-perfil-stats strong {
  display: block;
  font-size: clamp(.92rem, 1.7vw, 1.35rem);
  line-height: 1.1;
  white-space: normal;
  word-break: keep-all;
}

.v2-perfil-stats span:last-child strong,
.v2-perfil-stats a:last-child strong {
  font-size: clamp(.78rem, 1vw, .92rem);
  white-space: nowrap;
}

.v2-perfil-acoes {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
}

.v2-perfil-acoes .v2-botao {
  min-width: 136px;
}

.v2-perfil-feed {
  max-width: 760px;
  margin: 0 auto;
}

.v2-mensagens-pagina {
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(18px, 4vw, 42px) 16px;
}

.v2-mensagens-cabeca {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.v2-mensagens-cabeca small {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eaf2fb;
  color: var(--v2-azul-2);
  font-weight: 900;
}

.v2-mensagens-cabeca h1 {
  margin: 8px 0 4px;
  font-size: clamp(1.9rem, 4vw, 2.8rem);
}

.v2-mensagens-cabeca p {
  margin: 0;
  color: var(--v2-muted);
}

.v2-mensagens-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 16px;
}

.v2-mensagens-lista,
.v2-mensagens-conversa {
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(13, 35, 64, .08);
}

.v2-mensagens-lista {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 12px;
}

.v2-mensagens-lista > strong {
  padding: 4px 6px 8px;
}

.v2-mensagens-lista a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: inherit;
  text-decoration: none;
}

.v2-mensagens-lista a.ativo,
.v2-mensagens-lista a:hover {
  border-color: #cfe0f3;
  background: #f3f8ff;
}

.v2-mensagens-lista b,
.v2-mensagens-lista small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-mensagens-lista small,
.v2-mensagens-vazio {
  color: var(--v2-muted);
}

.v2-mensagens-lista em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #e91e63;
  color: #fff;
  font-style: normal;
  font-size: .78rem;
  font-weight: 900;
}

.v2-mensagens-conversa {
  display: grid;
  grid-template-rows: auto minmax(320px, 1fr) auto;
  min-height: 560px;
  overflow: hidden;
}

.v2-mensagens-conversa > header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--v2-borda);
}

.v2-mensagens-conversa > header a {
  color: var(--v2-azul);
  font-size: .88rem;
  font-weight: 900;
  text-decoration: none;
}

.v2-mensagens-fio {
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 16px;
  background: #f5f8fc;
  overflow-y: auto;
}

.v2-mensagem {
  display: grid;
  gap: 4px;
  max-width: min(72%, 560px);
}

.v2-mensagem > span {
  padding: 10px 12px;
  border-radius: 12px;
  overflow-wrap: anywhere;
  font-size: .98rem;
}

.v2-mensagem small {
  display: block;
  margin-top: 2px;
  color: var(--v2-muted);
  font-size: .66rem;
  line-height: 1.15;
  opacity: .82;
}

.v2-mensagem small b {
  color: #64748b;
  font-weight: 900;
}

.v2-mensagem small .lida b {
  color: #0ea5e9;
}

.v2-mensagem small span {
  display: block;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.v2-mensagem.minha small {
  justify-self: end;
  color: #45617f;
  text-align: right;
}

.v2-mensagem.minha {
  justify-self: end;
}

.v2-mensagem.minha span {
  background: #0b5cab;
  color: #fff;
}

.v2-mensagem.deles span {
  background: #fff;
  border: 1px solid var(--v2-borda);
}

.v2-mensagem-anexo {
  overflow: hidden;
  border-radius: 12px;
}

.v2-mensagem-anexo.imagem img,
.v2-mensagem-anexo.video video {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: contain;
  background: #0f172a;
}

.v2-mensagem-anexo.audio {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--v2-borda);
  background: #fff;
}

.v2-mensagem-anexo.audio audio {
  width: 100%;
}

.v2-mensagem-anexo.arquivo {
  display: inline-flex;
  padding: 10px 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 12px;
  background: #fff;
  color: var(--v2-azul);
  font-weight: 900;
  text-decoration: none;
}

.v2-mensagens-form {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border-top: 1px solid var(--v2-borda);
}

.v2-mensagens-anexar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid #c9d8ea;
  border-radius: 12px;
  background: #fff;
  color: var(--v2-azul);
  font-size: 1.7rem;
  font-weight: 900;
  cursor: pointer;
}

.v2-mensagens-anexar input {
  display: none;
}

.v2-mensagens-form textarea {
  width: 100%;
  resize: vertical;
  min-height: 46px;
  border: 1px solid #c9d8ea;
  border-radius: 10px;
  padding: 10px;
  font: inherit;
}

.v2-mensagens-placeholder {
  display: grid;
  place-content: center;
  gap: 6px;
  min-height: 320px;
  padding: 22px;
  color: var(--v2-muted);
  text-align: center;
}

.v2-mensagens-placeholder strong {
  color: var(--v2-tinta);
}

.v2-mensagens-placeholder.pequeno {
  min-height: 120px;
}

.v2-gtind-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(18px, 4vw, 42px) 16px;
}

.v2-gtind-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: clamp(18px, 4vw, 34px);
  border-radius: 8px;
  background: linear-gradient(135deg, #0b2b55, #0b5cab 62%, #e31b5f);
  color: #fff;
  box-shadow: 0 22px 54px rgba(9, 45, 89, .22);
}

.v2-gtind-hero.compacto {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.v2-gtind-hero small {
  display: inline-flex;
  width: max-content;
  margin-bottom: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  font-weight: 900;
}

.v2-gtind-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: .98;
}

.v2-gtind-hero p {
  max-width: 680px;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: 1.05rem;
}

.v2-gtind-hero aside {
  display: grid;
  gap: 8px;
  align-content: center;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: rgba(8, 20, 42, .28);
  overflow: hidden;
}

.v2-gtind-hero aside strong {
  font-size: 1.1rem;
}

.v2-gtind-hero aside span,
.v2-gtind-hero aside small {
  color: rgba(255, 255, 255, .84);
}

.v2-gtind-hero aside span {
  overflow-wrap: anywhere;
}

.v2-gtind-hero aside .v2-gtind-proximo {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
  box-sizing: border-box;
}

.v2-gtind-hero-acoes,
.v2-gtind-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.v2-gtind-hero-acoes {
  margin-top: 18px;
}

.v2-gtind-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
}

.v2-gtind-card,
.v2-gtind-config-card,
.v2-gtind-vazio {
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(13, 35, 64, .08);
}

.v2-gtind-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.v2-gtind-foto {
  position: relative;
  height: clamp(320px, 32vw, 430px);
  background: #0d1830;
}

.v2-gtind-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-gtind-foto span {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  color: #a20e3d;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.v2-gtind-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}

.v2-gtind-nome-linha {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.v2-gtind-nome-linha h2,
.v2-gtind-config-card h2,
.v2-gtind-vazio h2 {
  margin: 0;
  color: var(--v2-tinta);
}

.v2-gtind-nome-linha h2 {
  display: -webkit-box;
  min-height: 2.35em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.v2-gtind-info p,
.v2-gtind-info small,
.v2-gtind-config-card p,
.v2-gtind-vazio p {
  margin: 0;
  color: var(--v2-muted);
}

.v2-gtind-info p {
  display: -webkit-box;
  min-height: 4.3em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.v2-gtind-info > small {
  display: -webkit-box;
  min-height: 2.9em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.v2-gtind-curtir {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #f5b6ca;
  border-radius: 999px;
  background: #fff4f8;
  color: #b60f48;
  font-weight: 900;
  cursor: pointer;
}

.v2-gtind-curtir.curtido {
  background: #e31b5f;
  color: #fff;
}

.v2-gtind-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.v2-gtind-tags span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #eef5ff;
  color: var(--v2-azul-2);
  font-size: .76rem;
  font-weight: 900;
}

.v2-gtind-tags span b {
  color: #5d6b80;
}

.v2-gtind-acoes {
  margin-top: auto;
}

.v2-gtind-extra-acoes {
  display: flex;
  justify-content: flex-end;
  min-height: 20px;
}

.v2-gtind-denunciar {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid #ffd2dc;
  border-radius: 999px;
  color: #b60f48;
  background: #fff7fa;
  font-size: .68rem;
  font-weight: 800;
  text-decoration: none;
}

.v2-gtind-denunciar:hover {
  background: #ffe9f0;
}

.v2-gtind-detalhe {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(13, 35, 64, .12);
}

.v2-gtind-detalhe-fotos {
  background: #0d1830;
}

.v2-gtind-foto-principal-botao {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #0d1830;
  cursor: zoom-in;
}

.v2-gtind-foto-principal-botao span {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(8, 22, 43, .78);
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  opacity: 0;
  transform: translateY(6px);
  transition: .18s ease;
}

.v2-gtind-foto-principal-botao:hover span,
.v2-gtind-foto-principal-botao:focus-visible span {
  opacity: 1;
  transform: translateY(0);
}

.v2-gtind-detalhe-principal {
  display: block;
  width: 100%;
  height: min(74vh, 720px);
  min-height: 520px;
  object-fit: cover;
}

.v2-gtind-galeria {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding: 8px;
}

.v2-gtind-galeria button {
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
}

.v2-gtind-galeria button.ativo {
  border-color: #fff;
  box-shadow: 0 0 0 2px #16c784;
}

.v2-gtind-galeria img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 6px;
  object-fit: cover;
  display: block;
}

.v2-sem-scroll {
  overflow: hidden;
}

.v2-lightbox[hidden] {
  display: none;
}

.v2-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(3, 10, 24, .92);
}

.v2-lightbox figure {
  position: relative;
  display: grid;
  gap: 10px;
  margin: 0;
  max-width: min(92vw, 1180px);
  max-height: 92vh;
}

.v2-lightbox img {
  max-width: min(92vw, 1180px);
  max-height: 86vh;
  border-radius: 8px;
  object-fit: contain;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .45);
}

.v2-lightbox figcaption {
  color: #dbeafe;
  text-align: center;
  font-weight: 800;
}

.v2-lightbox-fechar,
.v2-lightbox-seta {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  cursor: pointer;
}

.v2-lightbox-fechar {
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  font-size: 1.7rem;
}

.v2-lightbox-seta {
  top: 50%;
  width: 54px;
  height: 54px;
  font-size: 2.4rem;
  transform: translateY(-50%);
}

.v2-lightbox-seta.anterior {
  left: 18px;
}

.v2-lightbox-seta.proxima {
  right: 18px;
}

.v2-social-convite {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  gap: 22px;
}

.v2-social-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 24px;
  align-items: stretch;
  padding: clamp(26px, 5vw, 48px);
  border-radius: 8px;
  background: linear-gradient(135deg, #073763, #0d63ad 58%, #d91f5b);
  color: #fff;
  box-shadow: 0 24px 70px rgba(10, 54, 104, .22);
}

.v2-social-hero small,
.v2-social-secao-topo small {
  display: inline-flex;
  width: max-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  font-weight: 900;
}

.v2-social-hero h1 {
  max-width: 760px;
  margin: 14px 0 12px;
  font-size: clamp(2.1rem, 5vw, 4.4rem);
  line-height: .98;
}

.v2-social-hero p {
  max-width: 720px;
  margin: 0;
  color: #e7f2ff;
  font-size: 1.08rem;
  line-height: 1.55;
}

.v2-social-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.v2-social-hero aside {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: rgba(8, 20, 45, .28);
}

.v2-social-hero aside strong {
  font-size: 1.35rem;
}

.v2-social-hero aside span {
  color: #e7f2ff;
  line-height: 1.45;
}

.v2-social-blocos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.v2-social-blocos article,
.v2-social-mini-card,
.v2-social-final {
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(13, 35, 64, .08);
}

.v2-social-blocos article {
  padding: 20px;
}

.v2-social-blocos h2,
.v2-social-final h2,
.v2-social-secao-topo h2 {
  margin: 0 0 8px;
  color: var(--v2-tinta);
}

.v2-social-blocos p,
.v2-social-final p {
  margin: 0;
  color: var(--v2-muted);
  line-height: 1.55;
}

.v2-social-amostra {
  display: grid;
  gap: 14px;
}

.v2-social-secao-topo {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.v2-social-secao-topo small {
  background: #e8f3ff;
  color: var(--v2-azul-2);
}

.v2-social-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.v2-social-mini-card {
  overflow: hidden;
}

.v2-social-mini-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: #e8eef7;
}

.v2-social-mini-card div {
  display: grid;
  gap: 7px;
  padding: 14px;
}

.v2-social-mini-card h3 {
  margin: 0;
  color: var(--v2-tinta);
  font-size: 1.15rem;
}

.v2-social-mini-card span,
.v2-social-mini-card small {
  color: var(--v2-muted);
  font-weight: 700;
}

.v2-social-mini-card a {
  margin-top: 4px;
  color: var(--v2-azul-2);
  font-weight: 900;
  text-decoration: none;
}

.v2-social-final {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 28px;
  text-align: center;
}

.v2-gtind-detalhe-info {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(18px, 4vw, 34px);
}

.v2-gtind-detalhe-info > small {
  width: max-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: var(--v2-azul-2);
  font-weight: 900;
}

.v2-gtind-detalhe-info h1 {
  margin: 0;
  color: var(--v2-tinta);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1;
}

.v2-gtind-local {
  margin: 0;
  color: var(--v2-muted);
  font-weight: 800;
}

.v2-gtind-detalhe-metricas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.v2-gtind-detalhe-metricas span {
  padding: 12px;
  border: 1px solid #dce8f7;
  border-radius: 8px;
  background: #f7fbff;
  color: var(--v2-muted);
  font-weight: 800;
}

.v2-gtind-detalhe-metricas b {
  display: block;
  color: var(--v2-azul-2);
  font-size: 1.45rem;
}

.v2-gtind-bloco {
  padding: 14px;
  border: 1px solid #edf2f8;
  border-radius: 8px;
  background: #fbfdff;
}

.v2-gtind-bloco h2 {
  margin: 0 0 7px;
  color: var(--v2-tinta);
  font-size: 1rem;
}

.v2-gtind-bloco p {
  margin: 0;
  color: var(--v2-muted);
  line-height: 1.55;
}

.v2-gtind-detalhe-extra,
.v2-gtind-detalhe-acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.v2-gtind-detalhe-extra span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: var(--v2-azul-2);
  font-size: .82rem;
  font-weight: 900;
}

.v2-gtind-editor-hero {
  background: linear-gradient(135deg, #09233f, #0b5cab 54%, #e31b5f);
}

.v2-gtind-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 16px;
  align-items: start;
}

.v2-gtind-editor-card,
.v2-gtind-editor-lado > div {
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(13, 35, 64, .08);
}

.v2-gtind-editor-card {
  display: grid;
  gap: 16px;
  padding: clamp(16px, 3vw, 24px);
}

.v2-gtind-editor-card h2,
.v2-gtind-premium-card h2 {
  margin: 0;
  color: var(--v2-tinta);
}

.v2-campo {
  display: grid;
  gap: 7px;
}

.v2-campo span {
  color: var(--v2-tinta);
  font-weight: 900;
}

.v2-campo input,
.v2-campo select,
.v2-campo textarea,
.v2-gtind-premium-card input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #d9e4f2;
  border-radius: 8px;
  background: #fff;
  color: var(--v2-tinta);
  font: inherit;
  box-sizing: border-box;
}

.v2-campo textarea {
  resize: vertical;
}

.v2-campo small,
.v2-gtind-premium-card p {
  color: var(--v2-muted);
}

.v2-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.v2-gtind-editor-foto {
  width: 180px;
  aspect-ratio: 1;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 12px 24px rgba(13, 35, 64, .14);
}

.v2-gtind-editor-galeria {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.v2-gtind-editor-galeria div {
  display: grid;
  gap: 6px;
}

.v2-gtind-editor-galeria img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  object-fit: cover;
}

.v2-gtind-editor-galeria button {
  min-height: 28px;
  border: 1px solid #ffd2dc;
  border-radius: 999px;
  background: #fff7fa;
  color: #b60f48;
  font-weight: 900;
  cursor: pointer;
}

.v2-gtind-switches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.v2-gtind-switches label {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e2ebf6;
  border-radius: 8px;
  background: #f8fbff;
  color: var(--v2-tinta);
  font-weight: 800;
}

.v2-gtind-editor-lado {
  display: grid;
  gap: 16px;
}

.v2-gtind-preview-card,
.v2-gtind-premium-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.v2-gtind-preview-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 8px;
  object-fit: cover;
}

.v2-gtind-preview-card h2,
.v2-gtind-preview-card p {
  margin: 0;
}

.v2-gtind-preview-card p {
  color: var(--v2-muted);
}

.v2-gtind-plano {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #e2ebf6;
  border-radius: 8px;
  background: #f8fbff;
}

.v2-gtind-plano strong {
  color: var(--v2-tinta);
}

.v2-gtind-plano span {
  color: var(--v2-muted);
}

.v2-gtind-plano small {
  color: var(--v2-azul-2);
  font-weight: 900;
}

.v2-gtind-config-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 16px;
}

.v2-gtind-config-card,
.v2-gtind-vazio {
  padding: 18px;
}

.v2-gtind-toggle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #e2ebf6;
  border-radius: 8px;
  background: #f8fbff;
}

.v2-gtind-toggle input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.v2-gtind-toggle strong,
.v2-gtind-toggle small {
  display: block;
}

.v2-gtind-toggle small {
  margin-top: 2px;
  color: var(--v2-muted);
}

.v2-gtind-preview-mini {
  display: grid;
  gap: 7px;
  margin: 12px 0;
}

.v2-gtind-preview-mini img {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
  box-shadow: 0 8px 20px rgba(13, 35, 64, .16);
}

@media (max-width: 980px) {
  .v2-social-hero,
  .v2-gtind-hero,
  .v2-gtind-hero.compacto,
  .v2-gtind-detalhe,
  .v2-gtind-editor-grid,
  .v2-gtind-config-grid {
    grid-template-columns: 1fr;
  }

  .v2-gtind-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-social-blocos,
  .v2-social-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .v2-social-convite,
  .v2-gtind-shell {
    width: 100%;
    padding: 12px;
  }

  .v2-social-hero,
  .v2-gtind-hero {
    padding: 18px;
  }

  .v2-social-hero h1,
  .v2-gtind-hero h1 {
    font-size: 2rem;
  }

  .v2-social-secao-topo {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-social-blocos,
  .v2-social-mini-grid {
    grid-template-columns: 1fr;
  }

  .v2-gtind-grid {
    grid-template-columns: 1fr;
  }

  .v2-gtind-foto {
    height: 430px;
  }

  .v2-gtind-detalhe-principal {
    height: 460px;
    min-height: 460px;
  }

  .v2-gtind-detalhe-metricas {
    grid-template-columns: 1fr;
  }

  .v2-form-grid,
  .v2-gtind-switches,
  .v2-gtind-editor-galeria {
    grid-template-columns: 1fr;
  }

  .v2-gtind-acoes .v2-botao,
  .v2-gtind-hero-acoes .v2-botao {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .v2-perfil-publico {
    width: 100%;
    padding: 12px;
    overflow: hidden;
  }

  .v2-notificacoes-cabeca {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-notificacoes-dropdown {
    position: fixed;
    top: 70px;
    right: 14px;
    left: 14px;
    width: auto;
  }

  .v2-perfil-topo {
    justify-content: flex-start;
    width: 100%;
    border-radius: 8px;
  }

  .v2-perfil-topo strong,
  .v2-perfil-topo small {
    max-width: none;
  }

  .v2-perfil-hero {
    grid-template-columns: 1fr;
    width: 100%;
    padding: 18px 14px;
    overflow: hidden;
    text-align: center;
  }

  .v2-perfil-hero .v2-feed-avatar {
    margin: 0 auto;
  }

  .v2-perfil-hero h1,
  .v2-perfil-hero p,
  .v2-perfil-hero small {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .v2-perfil-nome-linha {
    justify-content: center;
  }

  .v2-perfil-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-perfil-stats span,
  .v2-perfil-stats a {
    min-width: 0;
    width: 100%;
    min-height: 76px;
    padding: 10px 8px;
  }

  .v2-feed-seguir {
    padding: 5px 8px;
    font-size: .75rem;
  }

  .v2-perfil-acoes {
    justify-content: stretch;
    width: 100%;
  }

  .v2-perfil-acoes .v2-botao {
    width: 100%;
    min-width: 0;
  }

  .v2-perfil-feed {
    width: 100%;
  }

  .v2-mensagens-cabeca {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-mensagens-layout {
    grid-template-columns: 1fr;
  }

  .v2-mensagens-lista {
    max-height: 240px;
    overflow-y: auto;
  }

  .v2-mensagens-conversa {
    min-height: 520px;
  }

  .v2-mensagem {
    max-width: 86%;
  }

  .v2-mensagens-form {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .v2-mensagens-form .v2-botao {
    grid-column: 1 / -1;
  }
}

.v2-zap-admin {
  width: min(1120px, calc(100% - 28px));
  margin: 28px auto 70px;
  display: grid;
  gap: 18px;
}

.v2-zap-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .8fr);
  gap: 20px;
  padding: 28px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #073766, #0b66b9 55%, #16b86a);
  box-shadow: var(--v2-sombra);
}

.v2-zap-hero small,
.v2-zap-secao-topo small {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  font-weight: 800;
}

.v2-zap-hero h1,
.v2-zap-secao-topo h2 {
  margin: 0;
  letter-spacing: 0;
}

.v2-zap-hero h1 {
  max-width: 760px;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
}

.v2-zap-hero p {
  max-width: 720px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .9);
}

.v2-zap-resumo {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(8, 35, 66, .34);
}

.v2-zap-resumo span {
  color: rgba(255, 255, 255, .9);
}

.v2-zap-alerta {
  padding: 12px 14px;
  border: 1px solid #b8efce;
  border-radius: 8px;
  color: #096432;
  background: #eafff1;
  font-weight: 800;
}

.v2-zap-alerta.erro {
  border-color: #ffc7c7;
  color: #991b1b;
  background: #fff1f1;
}

.v2-zap-alerta.neutro {
  border-color: var(--v2-borda);
  color: var(--v2-muted);
  background: #fff;
}

.v2-zap-form,
.v2-zap-disparos {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--v2-borda);
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--v2-sombra);
}

.v2-zap-placeholder {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border-radius: 8px;
  background: #f3f8ff;
  color: var(--v2-muted);
}

.v2-zap-placeholder code {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--v2-azul-2);
  background: #fff;
  border: 1px solid var(--v2-borda);
  font-weight: 800;
}

.v2-zap-template {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fbfdff;
}

.v2-zap-template-topo,
.v2-zap-secao-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.v2-zap-template-topo > div {
  flex: 1;
}

.v2-zap-template small {
  display: block;
  margin-bottom: 6px;
  color: var(--v2-muted);
  font-weight: 800;
}

.v2-zap-template input[type="text"],
.v2-zap-template textarea,
.v2-zap-template input[type="time"] {
  width: 100%;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  color: var(--v2-tinta);
  background: #fff;
  font: inherit;
}

.v2-zap-template input[type="text"],
.v2-zap-template input[type="time"] {
  padding: 11px 12px;
  font-weight: 800;
}

.v2-zap-template textarea {
  min-height: 160px;
  padding: 12px;
  resize: vertical;
}

.v2-zap-switch {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--v2-borda);
  border-radius: 999px;
  background: #fff;
  font-weight: 800;
}

.v2-zap-horarios {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.v2-zap-horarios label {
  display: grid;
  gap: 6px;
  color: var(--v2-muted);
  font-weight: 800;
}

.v2-zap-tabela {
  overflow-x: auto;
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
}

.v2-zap-tabela > div {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr .7fr .8fr;
  min-width: 820px;
}

.v2-zap-tabela span {
  padding: 10px 12px;
  border-bottom: 1px solid var(--v2-borda);
}

.v2-zap-tabela .cabeca span {
  color: #fff;
  background: var(--v2-azul-2);
  font-weight: 900;
}

@media (max-width: 760px) {
  .v2-admin-checkins-lista article.v2-admin-checkin-linha {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .v2-admin-checkin-foto {
    justify-self: start;
  }

  .v2-admin-checkin-acoes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-zap-hero,
  .v2-zap-horarios {
    grid-template-columns: 1fr;
  }

  .v2-zap-template-topo,
  .v2-zap-secao-topo {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-seguidores-hero,
  .v2-seguidores-privacidade,
  .v2-seguidores-premium {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-seguidores-identidade {
    align-items: flex-start;
  }

  .v2-seguidores-grid {
    grid-template-columns: 1fr;
  }

  .v2-premium-card {
    padding: 20px;
  }

  .v2-premium-opcoes {
    grid-template-columns: 1fr;
  }

  .v2-admin-hero,
  .v2-admin-busca,
  .v2-admin-lista article,
  .v2-admin-rank {
    flex-direction: column;
    align-items: stretch;
  }

  .v2-admin-grid {
    grid-template-columns: 1fr;
  }

  .v2-admin-horas {
    grid-template-columns: 1fr;
  }

  .v2-seguidores-hero-acoes .v2-botao,
  .v2-seguidores-privacidade .v2-botao,
  .v2-seguidores-premium .v2-botao {
    width: 100%;
  }
}

.v2-portal-shell {
  width: min(1280px, calc(100% - 32px));
  margin: 28px auto 80px;
  display: grid;
  gap: 24px;
}

.v2-portal-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 24px;
  align-items: stretch;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 8px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(7, 36, 68, .96), rgba(11, 92, 171, .92) 58%, rgba(22, 184, 106, .86)),
    url("capa_ecossistema.jpg") center/cover;
  box-shadow: 0 24px 70px rgba(13, 35, 64, .18);
}

.v2-portal-hero small,
.v2-portal-secao-topo small,
.v2-portal-destaque-card small,
.v2-portal-hero-painel strong,
.v2-portal-lab small {
  display: inline-flex;
  width: max-content;
  padding: 6px 11px;
  border-radius: 999px;
  font-weight: 900;
}

.v2-portal-hero small,
.v2-portal-hero-painel strong {
  background: rgba(255, 255, 255, .16);
}

.v2-portal-hero h1 {
  max-width: 840px;
  margin: 16px 0 12px;
  font-size: clamp(2.25rem, 5vw, 4.7rem);
  line-height: .98;
  letter-spacing: 0;
}

.v2-portal-hero p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 1.08rem;
}

.v2-portal-acoes,
.v2-portal-lab-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.v2-portal-hero-painel {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(8, 28, 55, .34);
}

.v2-portal-hero-painel span {
  color: rgba(255, 255, 255, .9);
  line-height: 1.55;
}

.v2-portal-hero-painel a,
.v2-portal-secao-topo a,
.v2-portal-chamada a,
.v2-portal-lab-links a {
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

.v2-portal-destaques,
.v2-portal-chamada-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.v2-portal-destaque-card,
.v2-portal-chamada,
.v2-portal-atalhos,
.v2-portal-editoria,
.v2-portal-lab {
  border: 1px solid var(--v2-borda);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(13, 35, 64, .08);
  overflow: hidden;
}

.v2-portal-destaque-card {
  display: grid;
  grid-template-rows: 220px minmax(0, 1fr);
}

.v2-portal-destaque-card img,
.v2-portal-chamada img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #e8eef7;
}

.v2-portal-destaque-card > div {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px;
}

.v2-portal-destaque-card small,
.v2-portal-secao-topo small,
.v2-portal-lab small {
  color: var(--v2-azul-2);
  background: #eaf4ff;
}

.v2-portal-destaque-card h2,
.v2-portal-chamada h3,
.v2-portal-editoria h3,
.v2-portal-lab h2,
.v2-portal-secao-topo h2 {
  margin: 0;
  color: var(--v2-tinta);
  letter-spacing: 0;
}

.v2-portal-destaque-card p,
.v2-portal-chamada p,
.v2-portal-lab p {
  margin: 0;
  color: var(--v2-muted);
}

.v2-portal-secao-topo {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.v2-portal-secao-topo h2 {
  margin-top: 8px;
  font-size: clamp(1.45rem, 3vw, 2.3rem);
}

.v2-portal-secao-topo a {
  color: var(--v2-azul-2);
}

.v2-portal-atalhos {
  padding: 20px;
}

.v2-portal-atalhos-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.v2-portal-atalho,
.v2-portal-editoria a {
  display: grid;
  gap: 4px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid #e1ebf6;
  border-radius: 8px;
  color: var(--v2-tinta);
  background: #f8fbff;
  text-decoration: none;
}

.v2-portal-atalho:hover,
.v2-portal-editoria a:hover,
.v2-portal-chamada:hover {
  transform: translateY(-2px);
  border-color: #b8d5f5;
  box-shadow: 0 16px 36px rgba(13, 35, 64, .12);
}

.v2-portal-atalho strong,
.v2-portal-editoria strong {
  font-size: 1rem;
}

.v2-portal-atalho span,
.v2-portal-editoria span {
  color: var(--v2-muted);
  font-size: .9rem;
  line-height: 1.3;
}

.v2-portal-chamada {
  display: grid;
  grid-template-rows: 190px minmax(0, 1fr);
}

.v2-portal-chamada div {
  display: grid;
  gap: 9px;
  align-content: start;
  padding: 16px;
}

.v2-portal-chamada a {
  width: max-content;
  color: var(--v2-azul-2);
}

.v2-portal-editoria-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.v2-portal-editoria {
  padding: 18px;
}

.v2-portal-editoria h3 {
  margin-bottom: 12px;
  font-size: 1.18rem;
}

.v2-portal-editoria > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.v2-portal-lab {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 18px;
  align-items: center;
  padding: 22px;
}

.v2-portal-lab-links {
  margin-top: 0;
  justify-content: flex-end;
}

.v2-portal-lab-links a,
.v2-portal-lab-links span {
  padding: 9px 12px;
  border: 1px solid #d8e6f6;
  border-radius: 999px;
  color: var(--v2-azul-2);
  background: #f8fbff;
}

.v2-portal-lab-links span.inativo {
  color: #7a8798;
  background: #eef2f7;
  border-style: dashed;
  cursor: not-allowed;
  opacity: .72;
}

@media (max-width: 1040px) {
  .v2-portal-hero,
  .v2-portal-lab {
    grid-template-columns: 1fr;
  }

  .v2-portal-destaques,
  .v2-portal-chamada-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-portal-atalhos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .v2-portal-shell {
    width: 100%;
    margin-top: 0;
    padding: 12px;
  }

  .v2-portal-hero,
  .v2-portal-atalhos,
  .v2-portal-editoria,
  .v2-portal-lab {
    padding: 18px;
  }

  .v2-portal-hero h1 {
    font-size: 2.15rem;
  }

  .v2-portal-acoes .v2-botao {
    width: 100%;
  }

  .v2-portal-destaques,
  .v2-portal-chamada-grid,
  .v2-portal-atalhos-grid,
  .v2-portal-editoria-grid,
  .v2-portal-editoria > div {
    grid-template-columns: 1fr;
  }

  .v2-portal-secao-topo {
    align-items: stretch;
    flex-direction: column;
  }

  .v2-portal-destaque-card {
    grid-template-rows: 210px minmax(0, 1fr);
  }

  .v2-portal-lab-links {
    justify-content: flex-start;
  }
}
