@import url("./portal-invoice-boleto.css");
@import url("./portal-invoice-payment.css");
/**
 * Gen3 Cloud — WHMCS Theme (Twenty-One base)
 * Verde profundo = estrutura | Dourado = CTA principal
 */

@import url("./gen3-tokens.css");

:root {
  --primary: var(--gen3-green-700);
  --secondary: var(--gen3-text-muted);
  --success: var(--gen3-green-600);
  --info: var(--gen3-green-700);
  --warning: var(--gen3-gold);
  --light: var(--gen3-surface);
  --dark: var(--gen3-green-900);
  --font-family-sans-serif: var(--gen3-font);
  --gen3-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Tipografia — Inter em todo o tema */
body,
body.gen3-theme,
body.page-login,
body.page-portal,
.btn,
input,
select,
textarea,
.form-control,
.dropdown-menu,
.table,
.nav,
.navbar,
.card,
.modal-content,
label,
p,
span,
a,
li {
  font-family: var(--gen3-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--gen3-font);
  color: var(--gen3-text);
  background-color: var(--gen3-surface);
}

/* Tipografia ampla — sem body * (quebrava Font Awesome e intl-tel-input) */
body,
body.gen3-theme,
body.page-login,
body.page-auth,
body.page-portal,
body.page-cart,
.btn,
button,
input,
select,
textarea,
.form-control,
.dropdown-menu,
.table,
.nav,
.navbar,
.card,
.modal-content,
.alert,
.label,
.badge,
.list-group-item,
.pagination,
.dataTables_wrapper,
.gen3-portal-sidebar,
.gen3-portal-nav-link,
.gen3-portal-nav-sublink,
.gen3-portal-nav-summary,
.gen3-dash,
.gen3-email,
.gen3-affiliates,
.gen3-enhance-usage,
label,
p,
span:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad):not(.iti-flag):not(.flag-box):not(.fi):not(.gen3-location-flag),
a,
li,
td,
th,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--gen3-font) !important;
}

/* Restaura ícones Font Awesome após tipografia Inter */
i.fa, i.fas, i.far, i.fal, i.fab, i.fad,
.fa, .fas, .far, .fal, .fab, .fad,
.fa:before, .fas:before, .far:before, .fal:before,
.gen3-enhance-meter-icon i,
.gen3-enhance-quickstat-icon i,
.gen3-portal-nav-link i,
.gen3-portal-nav-sublink i,
.gen3-portal-nav-summary i {
  font-family: "Font Awesome 5 Pro" !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fas, .fa-solid, i.fas, .fas:before,
.gen3-enhance-meter-icon i.fas,
.gen3-enhance-quickstat-icon i.fas {
  font-weight: 900 !important;
}
.far, .fa-regular, i.far, .far:before {
  font-weight: 400 !important;
}
.fab, .fa-brands, i.fab, .fab:before {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.card-title,
.pricing-card-title {
  font-family: var(--gen3-font);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--gen3-cta-text);
}

/* Fundo geral */
body.primary-bg-color {
  background-color: var(--gen3-surface);
}

/* Header / Navbar */
.header {
  background: #fff;
  border-bottom: 1px solid var(--gen3-border);
  box-shadow: var(--gen3-shadow);
}

.header .topbar {
  background: var(--gen3-green-900);
  border-bottom: none;
}

.header .topbar .input-group-text,
.header .topbar .btn,
.header .topbar .btn-active-client {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.9);
}

.header .topbar .btn-active-client {
  background: rgba(255, 255, 255, 0.08);
}

.header .navbar-light {
  background: #fff !important;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.header .navbar-light .navbar-nav .nav-link {
  color: var(--gen3-text);
  font-weight: 500;
  font-size: 0.9375rem;
  padding: 0.5rem 0.85rem;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
}

.header .navbar-light .navbar-nav .nav-link:hover,
.header .navbar-light .navbar-nav .nav-link:focus {
  color: var(--gen3-green-700);
  background: var(--gen3-green-100);
}

.header .navbar-light .navbar-nav .active > .nav-link,
.header .navbar-light .navbar-nav .nav-link.active {
  color: var(--gen3-green-800);
  background: var(--gen3-green-100);
}

.header .logo-img,
.header .gen3-brand-logo {
  height: 29px;
  width: auto;
  max-width: none;
}

/* Breadcrumb */
.master-breadcrumb {
  background: transparent;
  padding-top: 0.75rem;
  padding-bottom: 0;
}

.master-breadcrumb .breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: 0.875rem;
}

.master-breadcrumb .breadcrumb-item a {
  color: var(--gen3-green-700);
}

/* Botões */
.btn-primary {
  background: linear-gradient(135deg, var(--gen3-gold-from) 0%, var(--gen3-gold-to) 100%);
  border-color: var(--gen3-gold-to);
  color: var(--gen3-cta-text);
  font-weight: 600;
  border-radius: var(--gen3-radius-pill);
  box-shadow: 0 2px 8px rgba(209, 180, 43, 0.25);
  transition: transform 0.15s, box-shadow 0.15s, opacity 0.15s;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: linear-gradient(135deg, #ebd055 0%, var(--gen3-gold-from) 100%);
  border-color: var(--gen3-gold-from);
  color: var(--gen3-cta-text);
  box-shadow: 0 4px 12px rgba(209, 180, 43, 0.32);
  transform: translateY(-1px);
}

.btn-outline-primary {
  color: var(--gen3-cta-text);
  border-color: rgba(32, 77, 68, 0.25);
  border-radius: var(--gen3-radius-pill);
  font-weight: 600;
}

.btn-outline-primary:hover {
  background: rgba(32, 77, 68, 0.06);
  border-color: rgba(32, 77, 68, 0.35);
  color: var(--gen3-cta-text);
}

.btn-default,
.btn-secondary {
  border-radius: 8px;
}

/* Cards */
.card {
  border: 1px solid var(--gen3-border);
  border-radius: var(--gen3-radius);
  box-shadow: var(--gen3-shadow);
  overflow: hidden;
}

.card-header {
  background: #fff;
  border-bottom: 1px solid var(--gen3-border);
  font-family: "Inter", sans-serif;
  font-weight: 600;
}

.card-footer {
  background: var(--gen3-surface);
  border-top: 1px solid var(--gen3-border);
}


/* ===== Auth estendido (registro, 2FA, convite) ===== */
body.page-auth.gen3-theme {
  background: var(--gen3-bg-dark);
}

.gen3-auth-panel--scroll {
  align-items: flex-start;
  min-height: 100vh;
  padding-top: 2rem;
  padding-bottom: 2.5rem;
  overflow-y: auto;
}

.gen3-auth-panel-inner--wide {
  max-width: 680px;
}

body.page-auth #registration .card,
body.page-auth .card.mw-540 {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  box-shadow: none;
}

body.page-auth #registration .card-title,
body.page-auth .card.mw-540 h2,
body.page-auth .card.mw-540 h3 {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

body.page-auth #registration .field,
body.page-auth #registration .form-control,
body.page-auth #registration select.field,
body.page-auth .card.mw-540 .form-control {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #fff !important;
  min-height: 46px;
  padding: 0.7rem 1rem 0.7rem 2.75rem !important;
}

body.page-auth #registration .field::placeholder,
body.page-auth .card.mw-540 .form-control::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

body.page-auth #registration .prepend-icon .field-icon {
  color: rgba(255, 255, 255, 0.4);
  left: 14px;
}

body.page-auth #registration .form-group.focused .field-icon,
body.page-auth #registration .prepend-icon:focus-within .field-icon {
  color: rgba(110, 231, 183, 0.85);
}

body.page-auth #registration .sub-heading,
body.page-auth #registration .sub-heading-borderless {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
}

body.page-auth #registration .text-muted,
body.page-auth #registration p,
body.page-auth .card.mw-540 p {
  color: rgba(255, 255, 255, 0.55) !important;
}

body.page-auth #registration .form-check-label,
body.page-auth #registration label.form-check {
  color: rgba(255, 255, 255, 0.7);
}

body.page-auth #registration .btn-primary,
body.page-auth .card.mw-540 .btn-primary {
  border-radius: 10px !important;
  background: linear-gradient(90deg, #3ecf8e 0%, #6ee7b7 50%, #a7f3d0 100%) !important;
  border: none !important;
  color: var(--gen3-cta-text) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(62, 207, 142, 0.3) !important;
}

body.page-auth #registration .password-strength-meter .text-muted {
  color: rgba(255, 255, 255, 0.45) !important;
}

body.page-auth #registration #passwordStrengthTextLabel {
  color: rgba(255, 255, 255, 0.55) !important;
}

body.page-auth #registration .progress {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
}

body.page-auth .card.mw-540 .text-success { color: #6ee7b7 !important; }
body.page-auth .card.mw-540 .text-warning { color: #fbbf24 !important; }
body.page-auth .card.mw-540 .text-danger { color: #f87171 !important; }

body.page-auth .card.mw-540 .btn-default {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.8);
}

/* Guest support sem login */
body.page-login.page-support-guest #main-body {
  padding: 2rem 1.25rem 3rem;
}

body.page-login.page-support-guest .gen3-login-panel-inner,
body.page-login.page-support-guest .primary-content {
  max-width: 960px;
  margin: 0 auto;
}

body.page-login.page-support-guest .gen3-support-back[href*="supporttickets"] {
  display: none;
}

body.page-auth .gen3-auth-backup-code {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fbbf24;
  margin: 1rem 0 1.25rem;
}

body.page-auth .invite-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 1.25rem;
  margin-bottom: 1rem;
  text-align: left;
}

body.page-auth .invite-box h2 {
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 1rem;
}

body.page-auth .invite-box label {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.8125rem;
}

body.page-auth .invite-box .btn-default {
  border-radius: 10px;
}

body.page-auth .card.mw-750 {
  background: transparent;
  border: none;
  box-shadow: none;
}

body.page-auth .card.mw-750 .card-body {
  padding: 0;
}

body.page-auth .card.mw-750 h2 {
  color: #fff;
  font-size: 1.35rem;
  line-height: 1.35;
}

body.page-auth .card.mw-750 .text-primary {
  color: #6ee7b7 !important;
}

/* Guest público — contact, KB, anúncios (header visível) */
body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) #main-body {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) .card {
  border-radius: 14px;
  border-color: rgba(15, 76, 58, 0.12);
  box-shadow: 0 4px 24px rgba(15, 76, 58, 0.06);
}

body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) .card-title,
body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) h1,
body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) h2 {
  font-weight: 600;
  letter-spacing: -0.02em;
}

body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) .btn-primary {
  border-radius: 10px;
  font-weight: 600;
}

body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) .master-breadcrumb {
  background: transparent;
  padding-top: 0.5rem;
}

body.gen3-theme:not(.page-portal):not(.page-login):not(.page-cart) .master-breadcrumb .breadcrumb {
  background: transparent;
  font-size: 0.8125rem;
}

/* ===== Login split-screen ===== */
body.page-login {
  background: var(--gen3-bg-dark);
  overflow-x: hidden;
}

body.page-login #header,
body.page-login .master-breadcrumb,
body.page-login #footer,
body.page-login .network-issues-notification {
  display: none !important;
}

body.page-login #main-body {
  padding: 0;
  margin: 0;
  min-height: 100vh;
}

body.page-login #main-body > .container {
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
}

body.page-login #main-body .row {
  margin: 0;
}

body.page-login .primary-content {
  padding: 0;
  max-width: 100%;
  flex: 0 0 100%;
}

.gen3-login-split {
  display: flex;
  min-height: 100vh;
  width: 100%;
}

.gen3-login-panel {
  flex: 1 1 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Painel esquerdo — formulário escuro */
.gen3-login-panel--form {
  background: linear-gradient(180deg, var(--gen3-bg-dark) 0%, var(--gen3-bg-dark-2) 100%);
  color: #fff;
  padding: 2.5rem 2rem;
}

.gen3-login-panel-inner {
  width: 100%;
  max-width: 420px;
}

.gen3-login-brand {
  display: inline-block;
  margin-bottom: 2.5rem;
}

.gen3-login-logo,
.gen3-login-brand .gen3-brand-logo {
  height: 29px;
  width: auto;
  max-width: none;
  display: block;
}

.gen3-login-brand-text {
  font-family: "Inter", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}

.gen3-login-title {
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 0.35rem;
  letter-spacing: -0.03em;
}

.gen3-login-subtitle {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.9375rem;
  margin: 0 0 1.75rem;
}

.gen3-login-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.5rem;
}

.gen3-login-input {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #fff !important;
  padding: 0.75rem 1rem !important;
  height: auto !important;
  font-size: 0.9375rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.gen3-login-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.gen3-login-input:focus {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(76, 201, 154, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(34, 133, 99, 0.18) !important;
  color: #fff !important;
}

.gen3-login-password-wrap {
  position: relative;
}

.gen3-login-reveal-pw {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.45);
  padding: 0;
  cursor: pointer;
  line-height: 1;
}

.gen3-login-reveal-pw:hover {
  color: rgba(255, 255, 255, 0.8);
}

.gen3-login-forgot {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.55) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gen3-login-forgot:hover {
  color: #fff !important;
}

.gen3-login-actions {
  margin-top: 1.5rem;
}

.gen3-login-submit {
  padding: 0.8rem 1.25rem !important;
  font-size: 1rem !important;
  border-radius: 10px !important;
  background: linear-gradient(90deg, #3ecf8e 0%, #6ee7b7 50%, #a7f3d0 100%) !important;
  border: none !important;
  color: var(--gen3-cta-text) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(62, 207, 142, 0.3) !important;
  letter-spacing: 0.01em;
}

.gen3-login-submit:hover,
.gen3-login-submit:focus {
  background: linear-gradient(90deg, #4ade80 0%, #86efac 50%, #bbf7d0 100%) !important;
  color: var(--gen3-cta-text) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(62, 207, 142, 0.4) !important;
}

.gen3-login-remember {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin: 1rem 0 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.65);
  cursor: pointer;
  user-select: none;
  position: relative;
}

.gen3-login-remember input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.gen3-login-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.04);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.gen3-login-check::after {
  content: "";
  width: 5px;
  height: 9px;
  border: solid #0a2e24;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  margin-top: -2px;
  transition: transform 0.15s ease;
}

.gen3-login-remember input[type="checkbox"]:checked + .gen3-login-check {
  background: #4ade80;
  border-color: #4ade80;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.2);
}

.gen3-login-remember input[type="checkbox"]:checked + .gen3-login-check::after {
  transform: rotate(45deg) scale(1);
}

.gen3-login-remember input[type="checkbox"]:focus + .gen3-login-check {
  border-color: rgba(74, 222, 128, 0.6);
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.15);
}

.gen3-login-remember:hover .gen3-login-check {
  border-color: rgba(255, 255, 255, 0.55);
}

.gen3-login-remember-text {
  line-height: 1.3;
}

.gen3-login-footer-links {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.gen3-login-footer-links p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0 0.75rem;
}

.gen3-login-footer-links a {
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gen3-login-footer-links a:hover {
  color: #6ee7b7 !important;
}

.gen3-login-lang {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.45);
}

.gen3-login-lang-btn {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: underline;
  padding: 0;
  cursor: pointer;
  font-size: 0.8125rem;
}

.gen3-login-lang-btn:hover {
  color: #6ee7b7;
}

.gen3-login-social .social-signin-btns,
.gen3-login-social .providerPreLinking,
.gen3-login-social hr {
  border-color: rgba(255, 255, 255, 0.1) !important;
}


/* OAuth / Google — login */
.gen3-login-social {
  margin-top: 0.25rem;
}

.gen3-login-oauth-divider {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin: 1.5rem 0 1.25rem;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.8125rem;
  font-weight: 500;
}

.gen3-login-oauth-divider::before,
.gen3-login-oauth-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}

.gen3-login-oauth-divider span {
  flex: 0 0 auto;
  white-space: nowrap;
}

.gen3-google-signin-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.gen3-google-signin-shell .providerPreLinking {
  margin: 0;
  display: flex;
  justify-content: center;
  width: 100%;
}

.gen3-login-social .social-signin-btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.gen3-login-social #btnGoogleSignin1,
.gen3-login-social .g_id_signin {
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important;
  max-width: 100%;
}

.gen3-google-signin-shell .sub-heading {
  display: none !important;
}

.gen3-google-btn-proxy {
  position: relative;
  width: 100%;
  min-height: 48px;
  border-radius: 10px;
  overflow: hidden;
}

.gen3-google-btn-facade {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 500;
  pointer-events: none;
  transition: background 0.15s, border-color 0.15s;
}

.gen3-google-btn-proxy.is-ready:hover .gen3-google-btn-facade {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.24);
}

.gen3-google-btn-facade img {
  display: block;
  flex-shrink: 0;
}

.gen3-login-social #btnGoogleSignin1.gen3-google-native {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  overflow: hidden !important;
  cursor: pointer;
}

.gen3-login-social #btnGoogleSignin1.gen3-google-native iframe {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  display: block !important;
  cursor: pointer;
}

.gen3-login-social .providerLinkingFeedback {
  margin-top: 0.75rem;
  font-size: 0.875rem;
}

.gen3-login-social .text-muted,
.gen3-login-social p {
  color: rgba(255, 255, 255, 0.45) !important;
}

body.page-login .alert {
  border-radius: 10px;
  font-size: 0.875rem;
}


/* Auth secundário (reset de senha) */
body.page-login .gen3-login-pwstrength br {
  display: none;
}

body.page-login .gen3-login-pwstrength #passwordStrengthBar {
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 0.75rem;
}

body.page-login .gen3-login-pwstrength .alert-info {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.72);
  border-radius: 10px;
  font-size: 0.8125rem;
}

body.page-login .gen3-login-reset-cancel {
  margin: 1rem 0 0;
  text-align: center;
}

body.page-login .gen3-login-reset-cancel a {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 0.875rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page-login .gen3-login-reset-cancel a:hover {
  color: #fff !important;
}

body.page-login #inputNewPassword2Msg .text-muted {
  color: rgba(255, 255, 255, 0.55) !important;
  margin-top: 0.35rem;
}

body.page-login .gen3-login-form .form-control.is-invalid {
  border-color: rgba(248, 113, 113, 0.75) !important;
}

body.page-login input:-webkit-autofill,
body.page-login select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #1a2420 inset !important;
  -webkit-text-fill-color: #fff !important;
}

/* Sidebar área do cliente */
.sidebar .panel,
.sidebar .card {
  border-radius: var(--gen3-radius);
}

.sidebar .panel-sidebar > .panel-heading,
.sidebar .card-header {
  background: var(--gen3-green-900);
  color: #fff;
  border: none;
  font-family: "Inter", sans-serif;
}

.sidebar .list-group-item {
  border-color: var(--gen3-border);
  font-size: 0.9375rem;
}

.sidebar .list-group-item.active,
.sidebar .list-group-item:hover {
  background: var(--gen3-green-100);
  color: var(--gen3-green-800);
  border-color: var(--gen3-border);
}

/* Home — tiles de ação */
.action-icon-btns a {
  border-radius: var(--gen3-radius);
  border: 1px solid var(--gen3-border);
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.action-icon-btns a:hover {
  border-color: var(--gen3-green-600);
  box-shadow: var(--gen3-shadow);
  transform: translateY(-2px);
  text-decoration: none;
}

.action-icon-btns .ico-container {
  color: var(--gen3-green-700);
}

/* Tabelas */
.table thead th {
  border-bottom: 2px solid var(--gen3-border);
  color: var(--gen3-green-900);
  font-family: "Inter", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.table-hover tbody tr:hover {
  background: var(--gen3-green-100);
}

/* Status badges */
.label-success, .badge-success {
  background: var(--gen3-green-700);
}

.label-warning, .badge-warning {
  background: var(--gen3-gold);
  color: var(--gen3-green-900);
}

/* Footer */
.footer {
  background: var(--gen3-green-900);
  color: rgba(255, 255, 255, 0.75);
  padding: 2.5rem 0;
  margin-top: 3rem;
}

.footer .nav-link,
.footer a {
  color: rgba(255, 255, 255, 0.8);
}

.footer .nav-link:hover,
.footer a:hover {
  color: #fff;
}

.footer .copyright {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.875rem;
}

.footer .btn {
  color: rgba(255, 255, 255, 0.85);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Domain search homepage */
.home-domain-search {
  background: linear-gradient(135deg, var(--gen3-green-900) 0%, var(--gen3-green-800) 55%, #145a47 100%);
}

.home-domain-search .btn-search {
  background: var(--gen3-gold);
  border-color: var(--gen3-gold);
  color: var(--gen3-green-900);
  font-weight: 600;
}

/* Pagamento PIX — manter visível */
.payment-form.payment-btn-container div a,
#div_pix, #div_pix div div, #div_pix div input, #div_pix div p,
#paypal-button-container, #paypal-button-container div p,
#paypal-button-container div input, #paypal-button-container div div,
#paypal-button-container div.paypal-buttons, #div_pix p, #div_pix input {
  display: block !important;
  visibility: visible !important;
}

#div_pix > img {
  width: auto !important;
  max-width: 220px !important;
  height: auto !important;
  margin: auto;
  display: block;
}

/* GEN3-INVOICE-PIX-TUNING */
body.page-portal.page-billing #div_pix {
  max-width: 440px;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.page-portal.page-billing #div_pix .gen3-pix-qrcode,
body.page-portal.page-billing #div_pix .gen3-pix-qrcode img,
body.page-portal.page-billing #div_pix > img {
  width: 220px !important;
  max-width: 220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-portal.page-billing #div_pix .gen3-pix-amount {
  margin-top: 2px !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  column-gap: 0;
  row-gap: 2px;
  line-height: 1.05;
  text-align: center;
}

body.page-portal.page-billing #div_pix .gen3-pix-currency {
  margin-right: 2px;
  white-space: nowrap;
}

body.page-portal.page-billing #div_pix .gen3-pix-value {
  white-space: nowrap;
}

body.page-portal.page-billing #div_pix .gen3-pix-suffix {
  flex-basis: 100%;
  display: block;
  margin-top: 2px;
  white-space: nowrap;
}
/* GEN3-INVOICE-PIX-TUNING-END */

/* Autofill */
input:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--gen3-green-100) inset !important;
}

/* Responsivo */
@media (max-width: 767.98px) {
  .header .logo-img {
    max-height: 36px;
  }

}


/* gen3-md-footer-dark */
body.page-portal.page-support .md-editor .md-footer,
body.page-portal.page-support .md-editor > .md-header {
  background: var(--portal-surface-2, #142019) !important;
}

body.page-portal.page-support .md-editor .md-footer {
  border-top: 1px solid var(--portal-border, rgba(255, 255, 255, 0.08)) !important;
  border-radius: 0 0 10px 10px !important;
}

body.page-portal.page-support .markdown-editor-status,
body.page-portal.page-support .markdown-editor-status .small-font {
  color: var(--portal-text-muted, rgba(238, 243, 240, 0.55)) !important;
}
/* Register polish v2 */
body.page-auth #registration .card,
body.page-auth #registration .card .card-body {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.85);
}

body.page-auth #registration select.field,
body.page-auth #registration select.form-control {
  background-color: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
}

body.page-auth #registration .intl-tel-input .selected-flag,
body.page-auth #registration .iti__selected-country {
  background: rgba(255, 255, 255, 0.04) !important;
}

body.page-auth #registration .sub-heading span,
body.page-auth #registration .sub-heading-borderless span {
  background: var(--gen3-bg-dark);
  color: rgba(255, 255, 255, 0.45);
}

body.page-auth #registration .social-signin-btns {
  margin-bottom: 1.25rem;
}

body.page-auth #registration .providerPreLinking {
  margin-bottom: 0.5rem;
}

body.page-auth #registration .gen3-login-oauth-divider {
  margin: 0 0 1rem;
}

body.page-login.page-auth #registration .sub-heading {
  display: none;
}

body.page-login.page-auth #registration .card,
body.page-login.page-auth #registration .card .card-body {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Register — padrão login */
body.page-login.page-auth .sidebar,
body.page-login.page-auth .col-lg-4.col-xl-3 {
  display: none !important;
}

body.page-login.page-auth #registration .gen3-register-section,
body.page-login.page-auth #registration .gen3-register-section .card-body {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.9);
}

body.page-login.page-auth #registration .card-title {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  margin-bottom: 1.25rem !important;
}

body.page-login.page-auth #registration .card-title small,
body.page-login.page-auth #registration .card-title i {
  color: rgba(255, 255, 255, 0.45) !important;
  font-style: normal;
  font-weight: 400;
  font-size: 0.8125rem;
}

body.page-login.page-auth #registration .field,
body.page-login.page-auth #registration .form-control,
body.page-login.page-auth #registration select.field {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #fff !important;
  min-height: 46px;
}

body.page-login.page-auth #registration .field::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

body.page-login.page-auth #registration .prepend-icon .field-icon {
  color: rgba(255, 255, 255, 0.4);
}

body.page-login.page-auth #registration .field-help-text,
body.page-login.page-auth #registration label,
body.page-login.page-auth #registration .form-group > label {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.8125rem;
}

body.page-login.page-auth #registration #passwordStrengthTextLabel,
body.page-login.page-auth #registration .text-muted {
  color: rgba(255, 255, 255, 0.45) !important;
}

body.page-login.page-auth #registration .progress {
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 999px;
  height: 6px;
}

body.page-login.page-auth #registration .btn-default,
body.page-login.page-auth #registration .generate-password {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border-radius: 10px !important;
}

body.page-login.page-auth #registration .sub-heading,
body.page-login.page-auth #registration .sub-heading-borderless,
body.page-login.page-auth #registration #providerLinkingMessages {
  display: none !important;
}

body.page-login.page-auth #registration .gen3-login-social {
  margin-top: 0.25rem;
}

body.page-login.page-auth #registration .gen3-register-tos a {
  color: #6ee7b7 !important;
}

body.page-login.page-auth #registration .iti__country-list {
  background: #1a2420;
  border-color: rgba(255, 255, 255, 0.12);
  color: #fff;
}

body.page-login.page-auth #registration .iti__selected-dial-code {
  color: rgba(255, 255, 255, 0.75);
}

/* Register cards — override Bootstrap/theme */
body.page-login.page-auth #registration .card {
  background-color: rgba(255, 255, 255, 0.03) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

body.page-login.page-auth #registration .card .card-body {
  background: transparent !important;
  background-color: transparent !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

body.page-login.page-auth #registration .card .card-title {
  color: #fff !important;
}

body.page-login.page-auth #registration .intl-tel-input .form-control,
body.page-login.page-auth #registration .iti input {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

/* ===== Responsividade — patch v2 (registro desktop + portal) ===== */

/* Registro: formulário largo no desktop (não parece coluna mobile) */
.gen3-auth-panel-inner--wide {
  max-width: 960px !important;
}

@media (min-width: 992px) {
  body.page-login.page-auth .gen3-login-panel--form.gen3-auth-panel--scroll {
    padding: 2.75rem 3.25rem 3rem;
  }

  body.page-login.page-auth .gen3-auth-panel-inner--wide {
    max-width: 1040px !important;
  }

  body.page-login.page-auth #registration .gen3-register-section .card-body {
    padding: 1.5rem 1.75rem !important;
  }

  body.page-login.page-auth #registration .row > .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  /* Portal desktop: impedir regras mobile vazadas */
  body.page-portal .gen3-portal-main {
    margin-left: var(--portal-sidebar-w, 260px) !important;
    width: calc(100% - var(--portal-sidebar-w, 260px)) !important;
    max-width: none !important;
  }

  body.page-portal .gen3-portal-container {
    max-width: 1280px !important;
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
  }

  body.page-portal .row > [class*="col-sm-"],
  body.page-portal .row > [class*="col-md-"],
  body.page-portal .row > [class*="col-lg-"] {
    max-width: none;
  }

  body.page-portal .row > .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  body.page-portal .gen3-dash-stats {
    grid-template-columns: repeat(6, 1fr) !important;
  }

  body.page-portal .gen3-dash-promos,
  body.page-portal .gen3-dash-widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  .gen3-auth-panel-inner--wide {
    max-width: 720px !important;
  }
}

@media (max-width: 767.98px) {
  .gen3-auth-panel-inner--wide {
    max-width: 100% !important;
  }

  body.page-login.page-auth .gen3-login-panel--form.gen3-auth-panel--scroll {
    padding: 1.5rem 1.15rem 2rem;
  }

  body.page-login.page-auth #registration .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* GEN3-REGISTER-ICON-GAPS-FIX */
body.page-auth #registration .form-group.prepend-icon,
body.page-login.page-auth #registration .form-group.prepend-icon,
body.page-cart #registration .form-group.prepend-icon,
body.page-cart #order-standard_cart .form-group.prepend-icon {
  position: relative !important;
}

body.page-auth #registration .prepend-icon .field,
body.page-auth #registration .prepend-icon .form-control,
body.page-auth #registration .prepend-icon select.field,
body.page-auth #registration .prepend-icon select.form-control,
body.page-login.page-auth #registration .prepend-icon .field,
body.page-login.page-auth #registration .prepend-icon .form-control,
body.page-login.page-auth #registration .prepend-icon select.field,
body.page-cart #registration .prepend-icon .field,
body.page-cart #registration .prepend-icon .form-control,
body.page-cart #registration .prepend-icon select.field,
body.page-cart #order-standard_cart .prepend-icon .field,
body.page-cart #order-standard_cart .prepend-icon .form-control,
body.page-cart #order-standard_cart .prepend-icon select.field {
  padding-left: 3.15rem !important;
}

/* Icone centralizado na altura do input (nao no topo) */
body.page-auth #registration .prepend-icon > .field-icon,
body.page-login.page-auth #registration .prepend-icon > .field-icon,
body.page-cart #registration .prepend-icon > .field-icon,
body.page-cart #order-standard_cart .prepend-icon > .field-icon {
  position: absolute !important;
  left: 0.95rem !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1.1rem !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 5 !important;
  pointer-events: none !important;
  color: rgba(255, 255, 255, 0.48) !important;
}

body.page-auth #registration .prepend-icon > .field-icon i,
body.page-login.page-auth #registration .prepend-icon > .field-icon i,
body.page-cart #registration .prepend-icon > .field-icon i,
body.page-cart #order-standard_cart .prepend-icon > .field-icon i {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  font-size: 0.9rem !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: inherit !important;
}

body.page-auth #registration .prepend-icon:focus-within > .field-icon,
body.page-login.page-auth #registration .prepend-icon:focus-within > .field-icon,
body.page-cart #registration .prepend-icon:focus-within > .field-icon,
body.page-cart #order-standard_cart .prepend-icon:focus-within > .field-icon {
  color: rgba(110, 231, 183, 0.92) !important;
}

/* Telefone */
body.page-auth #registration .intl-tel-input,
body.page-login.page-auth #registration .intl-tel-input,
body.page-cart #registration .intl-tel-input,
body.page-cart #order-standard_cart .intl-tel-input {
  width: 100% !important;
  display: block !important;
}

body.page-auth #registration .intl-tel-input .form-control,
body.page-auth #registration .intl-tel-input input.field,
body.page-login.page-auth #registration .intl-tel-input .form-control,
body.page-login.page-auth #registration .intl-tel-input input.field,
body.page-cart #registration .intl-tel-input .form-control,
body.page-cart #order-standard_cart .intl-tel-input .form-control {
  padding-left: 6.5rem !important;
}

body.page-auth #registration .intl-tel-input.iti-sdc-2 .form-control,
body.page-login.page-auth #registration .intl-tel-input.iti-sdc-2 .form-control,
body.page-cart #registration .intl-tel-input.iti-sdc-2 .form-control,
body.page-cart #order-standard_cart .intl-tel-input.iti-sdc-2 .form-control {
  padding-left: 5.6rem !important;
}

body.page-auth #registration .intl-tel-input.iti-sdc-3 .form-control,
body.page-login.page-auth #registration .intl-tel-input.iti-sdc-3 .form-control,
body.page-cart #registration .intl-tel-input.iti-sdc-3 .form-control,
body.page-cart #order-standard_cart .intl-tel-input.iti-sdc-3 .form-control {
  padding-left: 6.65rem !important;
}

body.page-auth #registration .intl-tel-input .selected-flag,
body.page-login.page-auth #registration .intl-tel-input .selected-flag,
body.page-cart #registration .intl-tel-input .selected-flag,
body.page-cart #order-standard_cart .intl-tel-input .selected-flag {
  padding: 0 6px 0 12px !important;
  width: auto !important;
  min-width: 74px !important;
  background: transparent !important;
  border: 0 !important;
}

body.page-auth #registration .intl-tel-input .selected-dial-code,
body.page-login.page-auth #registration .intl-tel-input .selected-dial-code,
body.page-cart #registration .intl-tel-input .selected-dial-code,
body.page-cart #order-standard_cart .intl-tel-input .selected-dial-code {
  padding-left: 7px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-weight: 600;
}

body.page-auth #registration .form-group:has(#inputPhone) > .field-icon,
body.page-login.page-auth #registration .form-group:has(#inputPhone) > .field-icon,
body.page-cart #registration .form-group:has(#inputPhone) > .field-icon,
body.page-cart #order-standard_cart .form-group:has(#inputPhone) > .field-icon,
body.page-auth #registration .gen3-phone-field > .field-icon,
body.page-login.page-auth #registration .gen3-phone-field > .field-icon {
  display: none !important;
}

body.page-auth #registration .form-group > label[for^="customfield"],
body.page-login.page-auth #registration .form-group > label[for^="customfield"],
body.page-cart #registration .form-group > label[for^="customfield"],
body.page-auth #registration .gen3-currency-field > label,
body.page-login.page-auth #registration .gen3-currency-field > label,
body.page-cart #registration .gen3-currency-field > label {
  display: block;
  margin: 0 0 0.45rem;
  font-size: 0.78rem !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.62) !important;
}

/* Moeda alinhada com CPF/CNPJ (mesmo padrão de label + control) */
body.page-auth #registration .gen3-currency-field,
body.page-login.page-auth #registration .gen3-currency-field,
body.page-cart #registration .gen3-currency-field {
  margin-bottom: 1rem;
}

body.page-auth #registration .gen3-currency-field .control,
body.page-login.page-auth #registration .gen3-currency-field .control,
body.page-cart #registration .gen3-currency-field .control {
  position: relative;
}

body.page-auth #registration .gen3-currency-field #inputCurrency,
body.page-login.page-auth #registration .gen3-currency-field #inputCurrency,
body.page-cart #registration .gen3-currency-field #inputCurrency {
  padding-left: 1rem !important;
  min-height: 46px;
  width: 100%;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #fff !important;
}

body.page-auth #registration .form-group .control .form-control,
body.page-login.page-auth #registration .form-group .control .form-control,
body.page-cart #registration .form-group .control .form-control {
  padding-left: 1rem !important;
  min-height: 46px;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #fff !important;
}

body.page-auth #registration .field-help-text,
body.page-login.page-auth #registration .field-help-text {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.42) !important;
}

/* GEN3-REGISTER-ICON-GAPS-FIX-END */

/* GEN3-GLOBAL-UI-FIX — tipografia segura + telefone + dropdown país/moeda */
body.page-auth .intl-tel-input .country-list,
body.page-login .intl-tel-input .country-list,
body.page-cart .intl-tel-input .country-list,
body.page-auth .iti__country-list,
body.page-login .iti__country-list,
body.page-cart .iti__country-list,
.intl-tel-input .country-list,
.iti__country-list {
  z-index: 99999 !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  background: #101816 !important;
  background-color: #101816 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
  color: #fff !important;
  font-family: var(--gen3-font) !important;
  white-space: normal !important;
}

body.page-auth .intl-tel-input .country-list .country,
body.page-login .intl-tel-input .country-list .country,
body.page-cart .intl-tel-input .country-list .country,
.intl-tel-input .country-list .country,
.intl-tel-input .country-list .divider,
.iti__country-list .iti__country,
.iti__country-list .iti__divider {
  color: #fff !important;
  background: #101816 !important;
  background-color: #101816 !important;
  padding: 0.55rem 0.85rem !important;
  line-height: 1.35 !important;
}

body.page-auth .intl-tel-input .country-list .country .country-name,
body.page-auth .intl-tel-input .country-list .country .dial-code,
body.page-login .intl-tel-input .country-list .country .country-name,
body.page-login .intl-tel-input .country-list .country .dial-code,
body.page-cart .intl-tel-input .country-list .country .country-name,
body.page-cart .intl-tel-input .country-list .country .dial-code,
.intl-tel-input .country-list .country .country-name,
.intl-tel-input .country-list .country .dial-code,
.iti__country-list .iti__country-name,
.iti__country-list .iti__dial-code {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.page-auth .intl-tel-input .country-list .country:hover,
body.page-auth .intl-tel-input .country-list .country.highlight,
body.page-login .intl-tel-input .country-list .country:hover,
body.page-login .intl-tel-input .country-list .country.highlight,
body.page-cart .intl-tel-input .country-list .country:hover,
body.page-cart .intl-tel-input .country-list .country.highlight,
.intl-tel-input .country-list .country:hover,
.intl-tel-input .country-list .country.highlight,
.iti__country-list .iti__country:hover,
.iti__country-list .iti__country.iti__highlight,
.iti__country-list .iti__country[aria-selected="true"] {
  background: rgba(74, 222, 128, 0.22) !important;
  background-color: rgba(74, 222, 128, 0.22) !important;
  color: #fff !important;
}

.intl-tel-input .selected-flag,
.iti__selected-flag,
.iti__selected-country {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
}

.intl-tel-input .selected-dial-code,
.iti__selected-dial-code {
  color: rgba(255, 255, 255, 0.9) !important;
}

.intl-tel-input .flag-box .iti-flag,
.intl-tel-input .iti-flag,
.iti__flag,
.iti-flag {
  background-image: url("../img/flags.png") !important;
}

/* GEN3-GLOBAL-UI-FIX-END */

/* GEN3-NATIVE-SELECT-FIX */
body.page-auth #registration select,
body.page-login.page-auth #registration select,
body.page-cart #registration select,
body.page-cart #order-standard_cart select {
  color-scheme: dark;
  background-color: rgba(255, 255, 255, 0.04) !important;
  color: #fff !important;
}

body.page-auth #registration select option,
body.page-login.page-auth #registration select option,
body.page-cart #registration select option,
body.page-cart #order-standard_cart select option {
  background-color: #101816 !important;
  color: #fff !important;
}

body.page-auth.gen3-theme .intl-tel-input .country-list,
body.page-login.page-auth .intl-tel-input .country-list,
body.page-cart .intl-tel-input .country-list {
  background-color: #101816 !important;
  color: #fff !important;
}

body.page-auth.gen3-theme .intl-tel-input .country-list .country,
body.page-login.page-auth .intl-tel-input .country-list .country,
body.page-cart .intl-tel-input .country-list .country {
  color: #fff !important;
  background-color: #101816 !important;
}

body.page-auth.gen3-theme .intl-tel-input .country-list .country .country-name,
body.page-auth.gen3-theme .intl-tel-input .country-list .country .dial-code,
body.page-login.page-auth .intl-tel-input .country-list .country .country-name,
body.page-login.page-auth .intl-tel-input .country-list .country .dial-code,
body.page-cart .intl-tel-input .country-list .country .country-name,
body.page-cart .intl-tel-input .country-list .country .dial-code {
  color: #fff !important;
}
/* GEN3-NATIVE-SELECT-FIX-END */


/* GEN3-FORM-ALIGN-SYSTEM */
/* Campos com label textual (CPF/CNPJ, Moeda, customfields) alinham no mesmo eixo */
body.page-auth #registration .row,
body.page-login.page-auth #registration .row,
body.page-cart #registration .row,
body.page-cart #order-standard_cart .field-container > .row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}

body.page-auth #registration .gen3-custom-field,
body.page-login.page-auth #registration .gen3-custom-field,
body.page-cart #registration .gen3-custom-field,
body.page-cart #order-standard_cart .gen3-custom-field,
body.page-auth #registration .gen3-currency-field,
body.page-login.page-auth #registration .gen3-currency-field,
body.page-cart #registration .gen3-currency-field,
body.page-cart #order-standard_cart .gen3-currency-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}

body.page-auth #registration .gen3-custom-field > label,
body.page-login.page-auth #registration .gen3-custom-field > label,
body.page-cart #registration .gen3-custom-field > label,
body.page-cart #order-standard_cart .gen3-custom-field > label,
body.page-auth #registration .gen3-currency-field > label,
body.page-login.page-auth #registration .gen3-currency-field > label,
body.page-cart #registration .gen3-currency-field > label,
body.page-cart #order-standard_cart .gen3-currency-field > label,
body.page-auth #registration .form-group > label[for^="customfield"],
body.page-login.page-auth #registration .form-group > label[for^="customfield"],
body.page-cart #registration .form-group > label[for^="customfield"],
body.page-cart #order-standard_cart .form-group > label[for^="customfield"] {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 0.45rem !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  line-height: 1.3 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  pointer-events: auto !important;
}

/* Select/input do mesmo "miolo" — altura e padding iguais (sem lacuna de ícone) */
body.page-auth #registration .gen3-custom-field .control > .form-control,
body.page-auth #registration .gen3-custom-field .control > select,
body.page-auth #registration .gen3-custom-field .control > input,
body.page-login.page-auth #registration .gen3-custom-field .control > .form-control,
body.page-login.page-auth #registration .gen3-custom-field .control > select,
body.page-login.page-auth #registration .gen3-custom-field .control > input,
body.page-cart #registration .gen3-custom-field .control > .form-control,
body.page-cart #registration .gen3-custom-field .control > select,
body.page-cart #order-standard_cart .gen3-custom-field .control > .form-control,
body.page-cart #order-standard_cart .gen3-custom-field .control > select,
body.page-auth #registration .gen3-currency-field #inputCurrency,
body.page-login.page-auth #registration .gen3-currency-field #inputCurrency,
body.page-cart #registration .gen3-currency-field #inputCurrency,
body.page-cart #order-standard_cart .gen3-currency-field #inputCurrency,
body.page-cart #order-standard_cart select[name="currency"] {
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0.65rem 1rem !important;
  padding-left: 1rem !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #fff !important;
  box-shadow: none !important;
  appearance: auto;
  color-scheme: dark;
}



body.page-auth #registration .prepend-icon > .field-icon,
body.page-login.page-auth #registration .prepend-icon > .field-icon,
body.page-cart #registration .prepend-icon > .field-icon,
body.page-cart #order-standard_cart .prepend-icon > .field-icon {
  top: 0 !important;
  bottom: auto !important;
  height: 46px !important;
  max-height: 46px !important;
  align-items: center !important;
}

/* Fallback: se algum template antigo ainda renderizar Moeda com prepend-icon */
body.page-auth #registration .prepend-icon:has(#inputCurrency) > .field-icon,
body.page-login.page-auth #registration .prepend-icon:has(#inputCurrency) > .field-icon,
body.page-cart #registration .prepend-icon:has(#inputCurrency) > .field-icon,
body.page-cart #order-standard_cart .prepend-icon:has(#inputCurrency) > .field-icon {
  display: none !important;
}

body.page-auth #registration .prepend-icon:has(#inputCurrency) #inputCurrency,
body.page-login.page-auth #registration .prepend-icon:has(#inputCurrency) #inputCurrency,
body.page-cart #registration .prepend-icon:has(#inputCurrency) #inputCurrency,
body.page-cart #order-standard_cart .prepend-icon:has(#inputCurrency) #inputCurrency {
  padding-left: 1rem !important;
}

body.page-auth #registration .prepend-icon:has(#inputCurrency)::before,
body.page-login.page-auth #registration .prepend-icon:has(#inputCurrency)::before,
body.page-cart #registration .prepend-icon:has(#inputCurrency)::before,
body.page-cart #order-standard_cart .prepend-icon:has(#inputCurrency)::before {
  content: "Moeda";
  display: block;
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.62);
}
/* GEN3-FORM-ALIGN-SYSTEM-END */

/* GEN3-FA-REGISTER-FIX */
/* WHMCS usa Font Awesome 5 Pro — restaurar nos ícones dos formulários */
body.page-auth #registration .prepend-icon > .field-icon i,
body.page-login.page-auth #registration .prepend-icon > .field-icon i,
body.page-cart #registration .prepend-icon > .field-icon i,
body.page-cart #order-standard_cart .prepend-icon > .field-icon i,
body.page-auth #registration .prepend-icon > .field-icon i::before,
body.page-login.page-auth #registration .prepend-icon > .field-icon i::before,
body.page-cart #registration .prepend-icon > .field-icon i::before,
body.page-cart #order-standard_cart .prepend-icon > .field-icon i::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.page-auth #registration .prepend-icon > .field-icon i.fas,
body.page-login.page-auth #registration .prepend-icon > .field-icon i.fas,
body.page-cart #registration .prepend-icon > .field-icon i.fas,
body.page-cart #order-standard_cart .prepend-icon > .field-icon i.fas,
body.page-auth #registration .prepend-icon > .field-icon i.fas::before,
body.page-login.page-auth #registration .prepend-icon > .field-icon i.fas::before {
  font-weight: 900 !important;
}

body.page-auth #registration .prepend-icon > .field-icon i.far,
body.page-login.page-auth #registration .prepend-icon > .field-icon i.far {
  font-weight: 400 !important;
}

/* Labels de ícone não herdam tipografia de label textual */
body.page-login.page-auth #registration label.field-icon,
body.page-auth #registration label.field-icon,
body.page-cart #registration label.field-icon,
body.page-cart #order-standard_cart label.field-icon {
  font-size: inherit !important;
  font-weight: inherit !important;
  color: rgba(255, 255, 255, 0.48) !important;
}

/* Remover override quebrado do bloco de alinhamento (mantém regra completa do GEN3-REGISTER-ICON-GAPS-FIX) */
body.page-auth #registration .prepend-icon > .field-icon,
body.page-login.page-auth #registration .prepend-icon > .field-icon,
body.page-cart #registration .prepend-icon > .field-icon,
body.page-cart #order-standard_cart .prepend-icon > .field-icon {
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  position: absolute !important;
  left: 0.95rem !important;
  align-items: center !important;
  justify-content: center !important;
}
/* GEN3-FA-REGISTER-FIX-END */

/* GEN3-GENERATE-PASSWORD-MODAL */
#modalGeneratePassword .modal-content,
.gen3-generate-password-modal .modal-content {
  background: #101816 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  color: #fff !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.55) !important;
  overflow: hidden;
}

#modalGeneratePassword .modal-header,
.gen3-generate-password-modal .modal-header {
  background: rgba(255, 255, 255, 0.04) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 1rem 1.25rem !important;
  align-items: center;
}

#modalGeneratePassword .modal-header.bg-primary {
  background: rgba(255, 255, 255, 0.04) !important;
}

#modalGeneratePassword .modal-title {
  color: #fff !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  margin: 0;
}

#modalGeneratePassword .close,
#modalGeneratePassword .close span {
  color: rgba(255, 255, 255, 0.65) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  font-size: 1.5rem;
  font-weight: 300;
}

#modalGeneratePassword .close:hover {
  color: #fff !important;
}

#modalGeneratePassword .modal-body {
  padding: 1.25rem 1.25rem 0.75rem !important;
  background: transparent !important;
}

#modalGeneratePassword .modal-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: transparent !important;
  padding: 0.85rem 1.25rem 1.15rem !important;
  gap: 0.5rem;
}

#modalGeneratePassword label,
#modalGeneratePassword .col-form-label {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  padding-top: 0.55rem;
}

#modalGeneratePassword .form-control {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  border-radius: 10px !important;
  min-height: 42px;
  font-size: 0.9375rem !important;
}

#modalGeneratePassword #inputGeneratePasswordOutput {
  font-family: ui-monospace, "Cascadia Code", "Consolas", monospace !important;
  letter-spacing: 0.04em;
  color: #e8fff3 !important;
}

#modalGeneratePassword .form-control:focus {
  border-color: rgba(74, 222, 128, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.12) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

#modalGeneratePassword .gen3-generate-password-actions {
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

#modalGeneratePassword .gen3-generate-password-actions .btn {
  margin-right: 0.45rem;
  margin-bottom: 0.35rem;
}

#modalGeneratePassword .btn-default {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  border-radius: 10px !important;
  font-weight: 500;
}

#modalGeneratePassword .btn-default:hover,
#modalGeneratePassword .btn-default:focus {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}

#modalGeneratePassword .btn-primary {
  background: linear-gradient(135deg, #4ade80 0%, #3ecf8e 100%) !important;
  border: none !important;
  color: #0a0f0d !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  padding: 0.55rem 1rem !important;
  white-space: normal;
  line-height: 1.3;
}

#modalGeneratePassword .btn-primary:hover,
#modalGeneratePassword .btn-primary:focus {
  background: linear-gradient(135deg, #5eead4 0%, #4ade80 100%) !important;
  color: #0a0f0d !important;
}

#modalGeneratePassword .btn i.fas,
#modalGeneratePassword .btn i.far {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 900 !important;
  margin-right: 0.35rem;
}

#modalGeneratePassword .alert-danger {
  background: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #fecaca !important;
  border-radius: 10px;
}

#modalGeneratePassword .modal-backdrop.show {
  opacity: 0.72;
}
/* GEN3-GENERATE-PASSWORD-MODAL-END */

/* GEN3-PHONE-FIELD-POLISH */
/* Ajuste visual do DDI para nao parecer quebrado */
body.page-auth #registration .gen3-phone-field .intl-tel-input,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input,
body.page-cart #registration .gen3-phone-field .intl-tel-input,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input {
  position: relative;
}

body.page-auth #registration .gen3-phone-field .intl-tel-input input.form-control,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input input.form-control,
body.page-cart #registration .gen3-phone-field .intl-tel-input input.form-control,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input input.form-control {
  min-height: 46px !important;
  padding-left: 7.2rem !important;
}

body.page-auth #registration .gen3-phone-field .intl-tel-input .selected-flag,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input .selected-flag,
body.page-cart #registration .gen3-phone-field .intl-tel-input .selected-flag,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input .selected-flag,
body.page-auth #registration .gen3-phone-field .iti__selected-country,
body.page-login.page-auth #registration .gen3-phone-field .iti__selected-country,
body.page-cart #registration .gen3-phone-field .iti__selected-country,
body.page-cart #order-standard_cart .gen3-phone-field .iti__selected-country {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem;
  min-width: 92px !important;
  height: 46px !important;
  padding: 0 10px 0 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
}

body.page-auth #registration .gen3-phone-field .intl-tel-input .flag-box,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input .flag-box,
body.page-cart #registration .gen3-phone-field .intl-tel-input .flag-box,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input .flag-box,
body.page-auth #registration .gen3-phone-field .intl-tel-input .iti-flag,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input .iti-flag,
body.page-cart #registration .gen3-phone-field .intl-tel-input .iti-flag,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input .iti-flag,
body.page-auth #registration .gen3-phone-field .iti__flag,
body.page-login.page-auth #registration .gen3-phone-field .iti__flag,
body.page-cart #registration .gen3-phone-field .iti__flag,
body.page-cart #order-standard_cart .gen3-phone-field .iti__flag {
  margin-top: 0 !important;
  flex-shrink: 0;
}

body.page-auth #registration .gen3-phone-field .intl-tel-input .selected-dial-code,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input .selected-dial-code,
body.page-cart #registration .gen3-phone-field .intl-tel-input .selected-dial-code,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input .selected-dial-code,
body.page-auth #registration .gen3-phone-field .iti__selected-dial-code,
body.page-login.page-auth #registration .gen3-phone-field .iti__selected-dial-code,
body.page-cart #registration .gen3-phone-field .iti__selected-dial-code,
body.page-cart #order-standard_cart .gen3-phone-field .iti__selected-dial-code {
  display: inline-block !important;
  position: static !important;
  line-height: 1 !important;
  padding-left: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-weight: 600;
}

body.page-auth #registration .gen3-phone-field .intl-tel-input .arrow,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input .arrow,
body.page-cart #registration .gen3-phone-field .intl-tel-input .arrow,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input .arrow,
body.page-auth #registration .gen3-phone-field .iti__arrow,
body.page-login.page-auth #registration .gen3-phone-field .iti__arrow,
body.page-cart #registration .gen3-phone-field .iti__arrow,
body.page-cart #order-standard_cart .gen3-phone-field .iti__arrow {
  position: static !important;
  margin-left: 2px !important;
  border-top-color: rgba(255, 255, 255, 0.52) !important;
}

body.page-auth #registration .gen3-phone-field .intl-tel-input input::placeholder,
body.page-login.page-auth #registration .gen3-phone-field .intl-tel-input input::placeholder,
body.page-cart #registration .gen3-phone-field .intl-tel-input input::placeholder,
body.page-cart #order-standard_cart .gen3-phone-field .intl-tel-input input::placeholder {
  color: rgba(255, 255, 255, 0.56) !important;
}
/* GEN3-PHONE-FIELD-POLISH-END */

/* GEN3-BANNED-PAGE */
.gen3-banned-wrap {
  display: flex;
  justify-content: center;
  padding: 28px 16px;
}

.gen3-banned-card {
  width: 100%;
  max-width: 760px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: radial-gradient(120% 120% at 50% 0%, rgba(227, 91, 91, 0.2) 0%, rgba(9, 12, 24, 0.95) 62%);
  box-shadow: 0 24px 50px rgba(2, 6, 23, 0.55);
  padding: 26px;
}

.gen3-banned-brand {
  display: inline-flex;
  margin-bottom: 14px;
}

.gen3-banned-header {
  margin-bottom: 18px;
}

.gen3-banned-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.2);
  color: #fecaca;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 12px;
}

.gen3-banned-title {
  margin: 0 0 8px;
  font-size: 1.45rem;
  font-weight: 700;
  color: #fff;
}

.gen3-banned-subtitle {
  margin: 0;
  color: #cbd5e1;
  line-height: 1.5;
}

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

.gen3-banned-detail {
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.55);
  padding: 12px 14px;
}

.gen3-banned-label {
  display: block;
  color: #94a3b8;
  font-size: 0.82rem;
  margin-bottom: 6px;
}

.gen3-banned-value {
  color: #f8fafc;
  font-size: 0.96rem;
  word-break: break-word;
}

.gen3-banned-actions {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gen3-banned-actions .gen3-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767.98px) {
  .gen3-banned-card {
    padding: 20px;
    border-radius: 14px;
  }

  .gen3-banned-details {
    grid-template-columns: 1fr;
  }
}
/* GEN3-BANNED-PAGE-END */

/* GEN3-PORTAL-SELECTION-FIX */
.gen3-portal-nav-sub-head-label {
  user-select: none;
  -webkit-user-select: none;
}

.gen3-portal-nav-sub-head-label::selection {
  background: transparent;
  color: inherit;
}
/* GEN3-PORTAL-SELECTION-FIX-END */

/* GEN3-REMOVE-PRODUCTS-MENU */
body.page-portal .gen3-portal-nav-details--services .gen3-portal-nav-sub-head,
body.page-portal .gen3-portal-nav-sub--services > a[href*="action=services"]:not([href*="gen3_group"]) {
  display: none !important;
}

body.page-portal .gen3-portal-nav-group > .gen3-portal-nav-label + a.gen3-portal-nav-link[href*="action=services"]:not([href*="gen3_group"]) {
  display: none !important;
}

body.page-portal .gen3-portal-nav-group:has(> a.gen3-portal-nav-link[href*="action=services"]:not([href*="gen3_group"])) > .gen3-portal-nav-label:only-of-type {
  display: none !important;
}
/* GEN3-REMOVE-PRODUCTS-MENU-END */


/* GEN3-HOME-AJAX-DOMAIN */
body.page-portal.page-home .gen3-dash-domain--ajax {
  background: #064e3b;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 1.35rem 1.5rem 1.5rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-label {
  margin: 0 0 0.35rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-subtitle {
  margin: 0 0 1.1rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.45;
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #0a0a0a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0.35rem 0.5rem 0.35rem 1rem;
  overflow: hidden;
  isolation: isolate;
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-input {
  flex: 1;
  min-width: 0;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 0.95rem;
  padding: 0.55rem 0 !important;
  margin: 0 !important;
  appearance: none;
  -webkit-appearance: none;
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-input::placeholder {
  color: rgba(255, 255, 255, 0.42);
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-search-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.78) !important;
  box-shadow: none !important;
}

body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-search-btn:hover,
body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-search-btn:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

body.page-portal.page-home .gen3-dash-domain--ajax #DomainSearchResults {
  margin-top: 1rem;
}

/* Sem sugestões de domínio (home + carrinho) */
body.page-portal.page-home .gen3-dash-domain--ajax .suggested-domains,
body.page-portal.page-home .gen3-dash-domain--ajax #suggestionsLoader,
body.gen3-theme.page-cart #order-standard_cart .suggested-domains,
body.gen3-theme.page-cart #order-standard_cart #suggestionsLoader,
body.gen3-theme.page-cart #order-standard_cart .domain-suggestions-warning,
body.gen3-theme.page-cart #order-standard_cart .more-suggestions {
  display: none !important;
}

/* Evita resultados “invisíveis” após loading-fix antigo (visibility:hidden inline) */
body.page-portal.page-home .gen3-dash-domain--ajax #DomainSearchResults:not(.w-hidden) .domain-lookup-result,
body.page-portal.page-home .gen3-dash-domain--ajax #DomainSearchResults:not(.w-hidden) .domain-suggestion,
body.gen3-theme.page-cart #order-standard_cart #DomainSearchResults:not(.w-hidden) .domain-lookup-result,
body.gen3-theme.page-cart #order-standard_cart #DomainSearchResults:not(.w-hidden) .domain-suggestion {
  visibility: visible !important;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-checker-result-headline,
body.page-portal.page-home .gen3-dash-domain--ajax .domain-lookup-loader {
  color: rgba(255, 255, 255, 0.9);
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-checker-available {
  color: #86efac;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0.85rem 0 0;
  color: #fff;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-price .price {
  color: #86efac;
  font-weight: 700;
  font-size: 1.05rem;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-price .btn-add-to-cart {
  background: linear-gradient(90deg, var(--gen3-accent-mid, #0f4c3a), var(--gen3-accent-light, #1a6b52)) !important;
  border: none !important;
  color: var(--gen3-cta-text, #0a0f0d) !important;
  border-radius: 8px !important;
  font-weight: 600;
  padding: 0.4rem 0.85rem !important;
}

body.page-portal.page-home .gen3-dash-domain--ajax .btn-add-to-cart .loading,
body.page-portal.page-home .gen3-dash-domain--ajax .btn-add-to-cart .added,
body.page-portal.page-home .gen3-dash-domain--ajax .btn-add-to-cart .unavailable {
  display: none;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-checker-unavailable,
body.page-portal.page-home .gen3-dash-domain--ajax .domain-checker-invalid {
  color: #fca5a5;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-suggestion.list-group-item {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
  margin-bottom: 0.6rem;
  color: #fff;
}

body.page-portal.page-home .gen3-dash-domain--ajax .domain-suggestion .price {
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 575.98px) {
  body.page-portal.page-home .gen3-dash-domain--ajax {
    padding: 1.1rem 1rem 1.25rem;
  }

  body.page-portal.page-home .gen3-dash-domain--ajax .gen3-dash-domain-label {
    font-size: 1.05rem;
  }
}
/* GEN3-HOME-AJAX-DOMAIN-END */

/* GEN3-DATATABLES-PROCESSING-FIX */
/* Em algumas telas o overlay de processing do DataTables fica preso mesmo com a tabela carregada */
body.page-portal #tableServicesList_processing,
body.page-portal #tableDomainsList_processing {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* GEN3-DATATABLES-PROCESSING-FIX-END */

/* GEN3-ENHANCE-ICONS-FIX */
body.page-portal .gen3-enhance-gauge-title i,
body.page-portal .gen3-enhance-quickstat-label i,
body.page-portal .gen3-enhance-panel-btn i {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  display: inline-block;
  width: 1.05rem;
  text-align: center;
  line-height: 1 !important;
  vertical-align: -0.06em;
}
/* GEN3-ENHANCE-ICONS-FIX-END */

/* GEN3-DOMAINS-TABLE-FIX */
body.page-portal.page-domains .gen3-domains-panel {
  background: var(--portal-surface, #0f1713);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  padding: 1rem 1.15rem 1.15rem;
  margin-top: 0.5rem;
}

body.page-portal.page-domains .gen3-domains-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
  margin-bottom: 1rem;
  overflow-x: auto;
}

body.page-portal.page-domains .gen3-domains-toolbar .btn-group,
body.page-portal.page-domains .gen3-domains-toolbar .gen3-domains-actions {
  margin: 0 !important;
  flex-wrap: nowrap;
  gap: 0.35rem;
  display: inline-flex;
}

body.page-portal.page-domains .gen3-domains-toolbar .gen3-domains-actions .btn {
  white-space: nowrap;
  flex-shrink: 0;
}

body.page-portal.page-domains #tableDomainsList th.width-fixed-20,
body.page-portal.page-domains #tableDomainsList td:first-child {
  width: 2.25rem !important;
  max-width: 2.25rem !important;
  min-width: 2.25rem !important;
  padding-left: 0.65rem !important;
  padding-right: 0.25rem !important;
}

body.page-portal.page-domains #tableDomainsList th:nth-child(2),
body.page-portal.page-domains #tableDomainsList td.ssl-info {
  width: 2.75rem !important;
  max-width: 2.75rem !important;
  min-width: 2.75rem !important;
  padding: 0.5rem 0.25rem !important;
  text-align: center;
}

body.page-portal.page-domains #tableDomainsList thead th:nth-child(3) {
  text-align: left !important;
  padding-left: 0.75rem !important;
}

body.page-portal.page-domains #tableDomainsList thead th:nth-child(4),
body.page-portal.page-domains #tableDomainsList thead th:nth-child(5),
body.page-portal.page-domains #tableDomainsList tbody td:nth-child(4),
body.page-portal.page-domains #tableDomainsList tbody td:nth-child(5) {
  text-align: center;
  white-space: nowrap;
}

body.page-portal.page-domains #tableDomainsList thead th:nth-child(6),
body.page-portal.page-domains #tableDomainsList tbody td:nth-child(6) {
  text-align: center;
}
/* GEN3-DOMAINS-TABLE-FIX-END */

/* GEN3-HIDE-MARKETING-OPTIN */
body.page-auth .marketing-email-optin,
body.page-login .marketing-email-optin,
body.page-cart .marketing-email-optin {
  display: none !important;
}

/* GEN3-KB — estilos em portal-kb.css */

/* GEN3-PORTAL-NAV-FIX */
html.gen3-pref-sidebar-collapsed body.page-portal {
  --portal-sidebar-w: 260px;
}

html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-nav-details > .gen3-portal-nav-sub,
html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-hire > .gen3-portal-hire-panel {
  display: flex !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  box-shadow: none !important;
  border: none !important;
  padding: inherit !important;
  background: transparent !important;
}

html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-nav-label,
html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-cta-text,
html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-hire-chevron,
html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-nav-chevron,
html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-nav-link > span:not(.gen3-portal-nav-badge):not(.gen3-portal-nav-tag),
html.gen3-pref-sidebar-collapsed body.page-portal .gen3-portal-nav-summary-main > span {
  display: inline !important;
}

.gen3-portal-hire > summary.gen3-portal-cta {
  list-style: none;
  cursor: pointer;
}

.gen3-portal-hire > summary.gen3-portal-cta::-webkit-details-marker {
  display: none;
}

.gen3-portal-sidebar .gen3-portal-nav-details,
.gen3-portal-sidebar .gen3-portal-hire,
.gen3-portal-sidebar .gen3-portal-hire-group,
.gen3-portal-sidebar .gen3-portal-nav-link,
.gen3-portal-sidebar .gen3-portal-nav-summary {
  pointer-events: auto;
}

@media (max-width: 991.98px) {
  .gen3-portal-menu-btn {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    position: relative;
    z-index: 2;
  }

  body.gen3-portal-menu-open .gen3-portal-sidebar.is-open {
    z-index: 1050 !important;
  }

  body.gen3-portal-menu-open .gen3-portal-overlay.is-open {
    z-index: 1045 !important;
    display: block !important;
  }

  .gen3-portal-nav-details > summary,
  .gen3-portal-hire > summary,
  .gen3-portal-hire-group > summary {
    touch-action: manipulation;
    cursor: pointer;
  }
}
/* GEN3-PORTAL-NAV-FIX-END */

/* GEN3-CART-EYEBROW-SPACING */
body.gen3-theme.page-cart #order-standard_cart .gen3-cart-hero-text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

body.gen3-theme.page-cart #order-standard_cart .gen3-cart-eyebrow {
  margin-top: 0.15rem;
  margin-bottom: 0.75rem;
}

body.gen3-theme.page-cart #order-standard_cart .gen3-cart-hero h1 {
  margin-top: 0.15rem;
}

/* Guest cart: reforça espaço sob o header sticky (overrides podem zerar pt) */
body.gen3-theme.page-cart:not(.page-portal) #main-body,
body.gen3-theme.page-cart:not(.page-portal) section#main-body {
  padding-top: 1.75rem !important;
  padding-bottom: 1.25rem !important;
}
/* GEN3-CART-EYEBROW-SPACING-END */
/* GEN3-PORTAL-MENUS-FIX */
/* Usuário: Bootstrap/WHMCS (data-toggle=dropdown) — não sobrescrever */
body.page-portal .gen3-portal-lang > .dropdown-menu,
body.page-portal .gen3-portal-lang > .gen3-portal-lang-menu {
  display: none;
}

body.page-portal .gen3-portal-lang.show > .dropdown-menu,
body.page-portal .gen3-portal-lang.show > .gen3-portal-lang-menu {
  display: block !important;
}

body.page-portal .gen3-portal-lang {
  display: inline-flex;
  position: relative;
}

body.page-portal .gen3-portal-lang-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--portal-border, rgba(255, 255, 255, 0.08));
  border-radius: 999px;
  background: transparent;
  color: var(--portal-text-muted, rgba(238, 243, 240, 0.65));
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

body.page-portal .gen3-portal-lang-btn:hover,
body.page-portal .gen3-portal-lang.show .gen3-portal-lang-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(74, 222, 128, 0.22);
  color: var(--portal-text, #eef3f0);
}

body.page-portal .gen3-portal-lang-btn::after {
  display: none !important;
}

body.page-portal .gen3-portal-lang-menu {
  min-width: 11rem;
  padding: 0.35rem;
}

body.page-portal .gen3-portal-lang-item {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
}

body.page-portal .gen3-portal-lang-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.6875rem;
  font-weight: 700;
}

body.page-portal .gen3-portal-sidebar .gen3-portal-hire > summary,
body.page-portal .gen3-portal-sidebar .gen3-portal-nav-details > summary,
body.page-portal .gen3-portal-sidebar .gen3-portal-hire-group > summary {
  cursor: pointer;
  pointer-events: auto;
}

body.page-portal .gen3-portal-nav-details > .gen3-portal-nav-summary,
body.page-portal .gen3-portal-nav-details > .gen3-portal-nav-summary:hover,
body.page-portal .gen3-portal-nav-details[open] > .gen3-portal-nav-summary {
  color: #fff !important;
}

body.page-portal .gen3-portal-nav-details > .gen3-portal-nav-summary .gen3-portal-nav-summary-main,
body.page-portal .gen3-portal-nav-details > .gen3-portal-nav-summary .gen3-portal-nav-summary-main > span {
  color: #fff !important;
}

body.page-portal .gen3-portal-nav-details > .gen3-portal-nav-summary .gen3-portal-nav-summary-main i {
  color: #fff !important;
  opacity: 1;
}

/* GEN3-STUCK-LOADER-FIX
 * 1) #fullpage-overlay { display:table } (ID) vence .w-hidden — force hide.
 * 2) Lightbox2: .lightbox NÃO tem display:none por padrão; se scripts.min.js
 *    carregar 2x, o 2º #lightbox nasce VISÍVEL = quadrado branco 250px +
 *    .lb-loader (spinner) + .lb-cancel (X) sobre o footer.
 */
#fullpage-overlay.w-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.gen3-portal-overlay:not(.is-open) {
  pointer-events: none !important;
}

/* Lightbox idle. Sem !important em display para .show() inline funcionar;
 * filhos sem espaço no fluxo; duplicates sempre mortos. */
.lightbox,
#lightbox {
  display: none;
  height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  pointer-events: none;
}

#lightboxOverlay {
  display: none;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  position: fixed !important;
  pointer-events: none;
}

#lightbox[style*="display: block"],
#lightbox[style*="display:block"] {
  display: block;
  height: auto !important;
  max-height: none !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
  pointer-events: auto;
  position: absolute !important;
}

#lightboxOverlay[style*="display: block"],
#lightboxOverlay[style*="display:block"] {
  display: block;
  height: auto !important;
  width: 100% !important;
  overflow: visible !important;
  pointer-events: auto;
  position: absolute !important;
}

/* Qualquer #lightbox duplicado além do primeiro: esconder sempre */
#lightbox ~ #lightbox,
#lightboxOverlay ~ #lightboxOverlay {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#lightbox:not([style*="display: block"]) .lb-outerContainer,
#lightbox:not([style*="display:block"]) .lb-outerContainer,
#lightbox:not([style*="display: block"]) .lb-dataContainer,
#lightbox:not([style*="display:block"]) .lb-dataContainer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lb-outerContainer {
  background-color: var(--portal-surface, #0f1713);
}

/* Loader do modal AJAX só aparece quando o WHMCS chama .show() nele */
#modalAjax .modal-footer .loader {
  display: none !important;
}

body.page-portal #modalAjax .modal-content,
body.page-portal #modalAjax.show .modal-content,
body.gen3-theme #modalAjax .modal-content {
  background: var(--portal-surface, #0f1713) !important;
  border-color: var(--portal-border, rgba(255, 255, 255, 0.07)) !important;
  color: var(--portal-text, #eef3f0) !important;
}

body.page-portal #modalAjax .modal-header,
body.page-portal #modalAjax .modal-footer,
body.gen3-theme #modalAjax .modal-header,
body.gen3-theme #modalAjax .modal-footer {
  background: var(--portal-surface-2, #142019) !important;
  border-color: var(--portal-border, rgba(255, 255, 255, 0.07)) !important;
}

body.page-portal #modalAjax .loader,
body.page-portal #fullpage-overlay:not(.w-hidden),
body.gen3-theme #fullpage-overlay:not(.w-hidden) {
  background: rgba(10, 15, 13, 0.88) !important;
  color: var(--portal-text, #eef3f0) !important;
}

body.page-portal div.dataTables_processing.card,
body.page-portal div.dataTables_processing,
body.gen3-theme div.dataTables_processing.card,
body.gen3-theme div.dataTables_processing {
  background: var(--portal-surface, #0f1713) !important;
  color: var(--portal-text, #eef3f0) !important;
  border-color: var(--portal-border, rgba(255, 255, 255, 0.07)) !important;
}
/* GEN3-STUCK-LOADER-FIX-END */

/* GEN3-SUBMENU-TYPO — igual Aplicações de IA */
body.page-portal .gen3-portal-nav-sub .gen3-portal-nav-sublink--group,
body.page-portal .gen3-portal-nav-sub .gen3-portal-nav-sublink--domain,
body.page-portal .gen3-portal-nav-sub .gen3-portal-nav-sublink--ai,
body.page-portal .gen3-portal-nav-sub .gen3-portal-nav-sublink--support,
body.page-portal .gen3-portal-nav-sub > .gen3-portal-nav-sublink:not(.gen3-portal-nav-sublink--service) {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: rgba(255, 255, 255, 0.98) !important;
}

body.page-portal .gen3-portal-nav-sub--services,
body.page-portal .gen3-portal-nav-sub--domains,
body.page-portal .gen3-portal-nav-sub--ai,
body.page-portal .gen3-portal-nav-sub--support {
  gap: 0.15rem;
}

body.page-portal .gen3-portal-nav-sublink--group.is-active,
body.page-portal .gen3-portal-nav-sublink--domain.is-active {
  background: rgba(74, 222, 128, 0.12) !important;
  color: var(--portal-accent) !important;
}
/* GEN3-SUBMENU-TYPO-END */
/* GEN3-PORTAL-MENUS-FIX-END */

/* GEN3-SUPPORT-PIN-INPUT */
input.gen3-support-pin-value {
  flex: 1;
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-align: center;
  color: #fff;
  font-variant-numeric: tabular-nums;
  padding: 0;
  margin: 0;
  -webkit-text-fill-color: #fff;
}

input.gen3-support-pin-value::selection {
  background: rgba(74, 222, 128, 0.35);
}

@media (max-width: 991.98px) {
  body.page-portal .gen3-support-pin-value {
    font-size: clamp(1.25rem, 5vw, 1.75rem);
    letter-spacing: 0.18em;
  }
}

/* GEN3-TOPBAR-TITLE-MOBILE */
@media (max-width: 991.98px) {
  body.page-portal .gen3-portal-topbar--v2 .gen3-portal-topbar-title {
    display: none !important;
  }
}

/* GEN3-SECURITY-PAGE */
body.page-portal.page-security .gen3-security-page {
  max-width: 820px;
}

body.page-portal.page-security .gen3-security-hero {
  margin-bottom: 1.35rem;
}

body.page-portal.page-security .gen3-security-title {
  margin: 0 0 0.35rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}

body.page-portal.page-security .gen3-security-lead {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9375rem;
  line-height: 1.55;
}

body.page-portal.page-security .gen3-security-card {
  margin-bottom: 1rem;
  background: var(--portal-surface, #0d1210);
  border: 1px solid var(--portal-border, rgba(255, 255, 255, 0.08));
  border-radius: 14px;
  overflow: hidden;
}

body.page-portal.page-security .gen3-security-card .card-body {
  padding: 1.35rem 1.5rem 1.45rem;
}

body.page-portal.page-security .gen3-security-card-head {
  margin-bottom: 1rem;
}

body.page-portal.page-security .gen3-security-card .card-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
}

body.page-portal.page-security .gen3-security-linked-desc {
  margin: 0 0 0.9rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
  line-height: 1.5;
}

body.page-portal.page-security .gen3-security-linked-connect {
  margin-bottom: 1.1rem;
}

body.page-portal.page-security .gen3-security-linked-connect .providerPreLinking {
  margin: 0;
}

body.page-portal.page-security .social-signin-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

body.page-portal.page-security .social-signin-btns a,
body.page-portal.page-security .social-signin-btns button,
body.page-portal.page-security .social-signin-btns .btn {
  margin: 0 !important;
}

body.page-portal.page-security .gen3-security-linked-table-wrap {
  border: 1px solid var(--portal-border, rgba(255, 255, 255, 0.08));
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}

body.page-portal.page-security #tableLinkedAccounts_wrapper,
body.page-portal.page-security #tableLinkedAccounts_wrapper .dataTables_wrapper {
  padding: 0;
}

body.page-portal.page-security #tableLinkedAccounts_wrapper .dataTables_length,
body.page-portal.page-security #tableLinkedAccounts_wrapper .dataTables_filter {
  padding: 0.75rem 1rem 0;
}

body.page-portal.page-security #tableLinkedAccounts_wrapper .dataTables_info,
body.page-portal.page-security #tableLinkedAccounts_wrapper .dataTables_paginate {
  padding: 0.65rem 1rem 0.85rem;
}

body.page-portal.page-security #tableLinkedAccounts {
  margin: 0 !important;
  width: 100% !important;
}

body.page-portal.page-security #tableLinkedAccounts thead th {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--portal-border, rgba(255, 255, 255, 0.08));
  background: rgba(255, 255, 255, 0.04) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.page-portal.page-security #tableLinkedAccounts thead th.sorting:before,
body.page-portal.page-security #tableLinkedAccounts thead th.sorting:after,
body.page-portal.page-security #tableLinkedAccounts thead th.sorting_asc:before,
body.page-portal.page-security #tableLinkedAccounts thead th.sorting_asc:after,
body.page-portal.page-security #tableLinkedAccounts thead th.sorting_desc:before,
body.page-portal.page-security #tableLinkedAccounts thead th.sorting_desc:after {
  opacity: 0.55;
}

body.page-portal.page-security #tableLinkedAccounts tbody td {
  padding: 0.95rem 1rem;
  border-color: var(--portal-border, rgba(255, 255, 255, 0.08));
  color: rgba(255, 255, 255, 0.88);
  vertical-align: middle;
}

body.page-portal.page-security #tableLinkedAccounts tbody td.dataTables_empty,
body.page-portal.page-security #tableLinkedAccounts tbody tr td[colspan] {
  padding: 2rem 1rem !important;
  text-align: center;
  color: rgba(255, 255, 255, 0.48) !important;
  font-size: 0.9rem;
}

body.page-portal.page-security .gen3-security-twofa-status {
  margin-bottom: 0.85rem;
}

body.page-portal.page-security .gen3-security-twofa-status p {
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
}

body.page-portal.page-security .gen3-security-twofa-actions .twofa-config-link.w-hidden {
  display: none !important;
}

body.page-portal.page-security .gen3-security-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.page-portal.page-security .gen3-security-badge--on {
  background: rgba(74, 222, 128, 0.14);
  color: #86efac;
  border: 1px solid rgba(74, 222, 128, 0.28);
}

body.page-portal.page-security .gen3-security-badge--off {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

body.page-portal.page-security .gen3-security-alert.alert-warning {
  background: rgba(251, 191, 36, 0.08) !important;
  border: 1px solid rgba(251, 191, 36, 0.22) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  padding: 0.85rem 1rem;
  margin: 0 0 1rem;
  font-size: 0.9rem;
  line-height: 1.5;
}

body.page-portal.page-security .gen3-security-twofa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

body.page-portal.page-security .gen3-security-twofa-actions .btn-success {
  background: rgba(74, 222, 128, 0.14) !important;
  border: 1px solid rgba(74, 222, 128, 0.35) !important;
  color: #86efac !important;
  font-weight: 600;
  border-radius: 10px;
  box-shadow: none !important;
}

body.page-portal.page-security .gen3-security-twofa-actions .btn-success:hover {
  background: rgba(74, 222, 128, 0.22) !important;
  border-color: rgba(74, 222, 128, 0.5) !important;
  color: #bbf7d0 !important;
}

body.page-portal.page-security .gen3-security-twofa-actions .btn-danger {
  background: rgba(248, 113, 113, 0.12) !important;
  border: 1px solid rgba(248, 113, 113, 0.28) !important;
  color: #fca5a5 !important;
  font-weight: 600;
  border-radius: 10px;
  box-shadow: none !important;
}

body.page-portal.page-security .gen3-security-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.35rem;
}

body.page-portal.page-security .twofa-config-link {
  margin-top: 0;
}

@media (max-width: 575.98px) {
  body.page-portal.page-security .gen3-security-card .card-body {
    padding: 1.1rem 1rem 1.2rem;
  }

  body.page-portal.page-security #tableLinkedAccounts thead th,
  body.page-portal.page-security #tableLinkedAccounts tbody td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: 0.82rem;
  }
}
/* GEN3-SECURITY-PAGE-END */
