/* ============================================================
   UHOST — Central do cliente (tema filho do Nexus, WHMCS 9)
   Mesmo design system do site uhost.com.br:
   dark #1C1D21 + dourado #FAC643 · Syne (títulos) + Poppins (corpo)
   Carregado por último via assetExists — vence all.min/theme.min.
   ============================================================ */

:root{
  --uhc-bg:#1C1D21;
  --uhc-surface:#26272D;
  --uhc-surface-2:#33343F;
  --uhc-border:#3A3B44;
  --uhc-border-strong:#6D6E7C;
  --uhc-gold:#FAC643;
  --uhc-gold-hover:#FFD666;
  --uhc-on-gold:#111111;
  --uhc-title:#FFFFFF;
  --uhc-text:#D3D3D3;
  --uhc-muted:#9C9DA6;
  --uhc-success:#4ADE80;
  --uhc-danger:#F87171;
  --uhc-warn:#FBBF24;
  --uhc-info:#7DD3FC;
  --uhc-whatsapp:#25D366;
  --uhc-radius-card:16px;
  --uhc-radius-input:12px;
  --uhc-radius-pill:48px;
  --uhc-shadow:0 8px 24px rgba(0,0,0,.25);
  --uhc-shadow-lift:0 16px 40px rgba(0,0,0,.35);
}

/* ---------- base + escala tipográfica ---------- */
html{ background:var(--uhc-bg); }
body{
  background:var(--uhc-bg) !important;
  color:var(--uhc-text);
  font-family:'Poppins',-apple-system,sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.6;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,
.card-title,.modal-title,legend{
  font-family:'Syne',sans-serif;
  color:var(--uhc-title);
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.2px;
}
/* escala única — mata os saltos de tamanho entre páginas */
h1,.h1{ font-size:28px; }
h2,.h2{ font-size:23px; }
h3,.h3{ font-size:19px; }
h4,.h4{ font-size:17px; }
h5,.h5,h6,.h6{ font-size:15px; }
p{ margin-bottom:.9rem; }
a{ color:var(--uhc-gold); }
a:hover{ color:var(--uhc-gold-hover); text-decoration:none; }
::selection{ background:var(--uhc-gold); color:var(--uhc-on-gold); }
hr{ border-color:var(--uhc-border); }
.text-muted,small,.small{ color:var(--uhc-muted) !important; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--uhc-bg); }
::-webkit-scrollbar-thumb{ background:var(--uhc-border); border-radius:8px; }
::-webkit-scrollbar-thumb:hover{ background:var(--uhc-border-strong); }

/* ---------- header / navegação ---------- */
.header{ background:var(--uhc-bg); box-shadow:none; border-bottom:1px solid var(--uhc-border); }
.header .topbar{
  background:#17181B;
  border-bottom:1px solid var(--uhc-border);
}
.header .topbar .btn{ color:var(--uhc-muted); font-size:13px; }
.header .topbar .btn:hover{ color:var(--uhc-gold); }
.header .topbar .input-group-text{
  background:transparent; border:0; color:var(--uhc-muted); font-size:13px;
}
.header .topbar .btn-active-client,
.header .topbar .btn-active-client span{ color:var(--uhc-text); }
.header .navbar-light,
.header .main-navbar-wrapper{ background:var(--uhc-bg); }
.navbar-brand .logo-img{ max-height:44px; width:auto; }
.main-navbar-wrapper{ border-top:1px solid var(--uhc-border); }
#nav .nav-link,
.main-navbar-wrapper .navbar-nav .nav-link{
  color:#EDEEF1 !important;
  font-size:15px;
  font-weight:500;
  border-radius:var(--uhc-radius-pill);
  padding:8px 16px;
  transition:color .15s ease, background .15s ease;
}
#nav .nav-link:hover,
.main-navbar-wrapper .navbar-nav .nav-link:hover,
.main-navbar-wrapper .navbar-nav .show > .nav-link{
  color:var(--uhc-gold) !important;
  background:rgba(250,198,67,.08);
}
.header .toolbar .nav-link{ color:var(--uhc-text); }
.header .toolbar .cart-btn .badge{ background:var(--uhc-gold); color:var(--uhc-on-gold); }
.header .search .form-control{
  background:var(--uhc-surface); border-color:var(--uhc-border); color:var(--uhc-text);
  border-radius:var(--uhc-radius-pill);
}
.header .search .btn{
  background:var(--uhc-surface); border-color:var(--uhc-border); color:var(--uhc-muted);
  border-radius:var(--uhc-radius-pill) 0 0 var(--uhc-radius-pill);
}
.dropdown-menu{
  background:var(--uhc-surface);
  border:1px solid var(--uhc-border);
  border-radius:12px;
  box-shadow:var(--uhc-shadow-lift);
}
.dropdown-item{ color:var(--uhc-text); font-weight:300; }
.dropdown-item:hover,.dropdown-item:focus{ background:rgba(250,198,67,.10); color:var(--uhc-gold); }
.dropdown-divider{ border-color:var(--uhc-border); }

/* ---------- breadcrumb ---------- */
.master-breadcrumb{ background:transparent; border:0; }
.master-breadcrumb .breadcrumb{ background:transparent; padding-left:0; font-size:13px; margin-bottom:0; }
.master-breadcrumb .breadcrumb-item a{ color:var(--uhc-muted); }
.master-breadcrumb .breadcrumb-item.active,
.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:var(--uhc-muted); }

/* ---------- cartões / painéis ---------- */
.card{
  background:var(--uhc-surface);
  border:1px solid var(--uhc-border);
  border-radius:var(--uhc-radius-card);
  box-shadow:var(--uhc-shadow);
  color:var(--uhc-text);
}
.card-header{
  background:transparent;
  border-bottom:1px solid var(--uhc-border);
  border-radius:var(--uhc-radius-card) var(--uhc-radius-card) 0 0 !important;
}
.card-footer{ background:transparent; border-top:1px solid var(--uhc-border); }
.card .card-title{ font-size:15px; letter-spacing:.3px; text-transform:uppercase; color:var(--uhc-title); }
.card-header{ padding:14px 20px; }
.card-body{ font-size:14.5px; }
/* faixa de cor dos painéis do nexus → sempre dourado UHOST */
.card[class*="card-accent-"]{ border-top:3px solid var(--uhc-gold) !important; }
.bg-light{ background:var(--uhc-surface-2) !important; color:var(--uhc-text); }
.bg-white{ background:var(--uhc-surface) !important; }
.jumbotron{ background:var(--uhc-surface); border-radius:var(--uhc-radius-card); }

/* ---------- sidebar ---------- */
.sidebar .card{ overflow:hidden; }
.sidebar .card-header{
  background:transparent; color:var(--uhc-muted);
  font-family:'Poppins',sans-serif; font-weight:500;
  font-size:12.5px; letter-spacing:.8px; text-transform:uppercase;
}
.sidebar .list-group-item{ font-size:14px; padding:11px 20px; }
.list-group-item{
  background:transparent;
  border-color:var(--uhc-border);
  color:var(--uhc-text);
  font-weight:300;
}
.list-group-item-action:hover,.list-group-item-action:focus{
  background:rgba(250,198,67,.07); color:var(--uhc-gold);
}
.list-group-item.active{
  background:rgba(250,198,67,.14) !important;
  border-color:var(--uhc-border) !important;
  border-left:3px solid var(--uhc-gold) !important;
  color:var(--uhc-gold) !important;
}
.list-group-item .badge{ background:var(--uhc-surface-2); color:var(--uhc-text); }

/* ---------- tiles do dashboard ---------- */
.tiles .tile{
  background:var(--uhc-surface);
  border:1px solid var(--uhc-border);
  border-radius:var(--uhc-radius-card);
  margin:6px;
  color:var(--uhc-text);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.tiles .tile:hover{
  transform:translateY(-3px);
  border-color:var(--uhc-border-strong);
  box-shadow:var(--uhc-shadow-lift);
  text-decoration:none;
}
.tiles .tile i{ color:var(--uhc-gold); font-size:22px; }
.tiles .tile .stat{
  color:var(--uhc-gold);
  font-family:'Syne',sans-serif; font-weight:800; font-size:30px;
}
.tiles .tile .title{
  color:var(--uhc-muted); font-family:'Poppins',sans-serif;
  font-weight:500; font-size:12.5px; letter-spacing:.6px; text-transform:uppercase;
}
.tiles .tile .highlight{ background:var(--uhc-gold) !important; height:3px; }

/* ---------- botões (tamanho único, sem quebra) ---------- */
.btn{
  border-radius:var(--uhc-radius-pill);
  font-weight:500;
  font-size:14.5px;
  padding:9px 22px;
  white-space:nowrap;
}
.btn-sm,.btn-xs{ font-size:13px; padding:6px 14px; }
.btn-lg{ font-size:16px; padding:12px 28px; }
.btn i{ margin-right:6px; }
.btn-primary,
.btn-styled-blue,
.marketconnect-promo .btn{
  background:var(--uhc-gold) !important;
  border-color:var(--uhc-gold) !important;
  color:var(--uhc-on-gold) !important;
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{
  background:var(--uhc-gold-hover) !important;
  border-color:var(--uhc-gold-hover) !important;
  color:var(--uhc-on-gold) !important;
  box-shadow:0 0 0 3px rgba(250,198,67,.25) !important;
}
.btn-default,.btn-secondary,.btn-light{
  background:transparent !important;
  border:1px solid var(--uhc-border-strong) !important;
  color:var(--uhc-text) !important;
}
.btn-default:hover,.btn-secondary:hover,.btn-light:hover{
  border-color:var(--uhc-gold) !important; color:var(--uhc-gold) !important;
  background:rgba(250,198,67,.06) !important;
}
.btn-link{ color:var(--uhc-gold); }
.btn-success{ background:#166534 !important; border-color:#166534 !important; }
.btn-danger{ background:#991B1B !important; border-color:#991B1B !important; }
.btn-outline-light{ border-color:var(--uhc-border-strong); color:var(--uhc-text); }
.btn-outline-light:hover{ background:var(--uhc-surface-2); color:var(--uhc-gold); }

/* ---------- formulários ---------- */
.form-control,
select.form-control,
textarea.form-control,
.custom-select{
  background:var(--uhc-bg);
  border:1px solid var(--uhc-border);
  border-radius:var(--uhc-radius-input);
  color:var(--uhc-text);
}
.form-control:focus,.custom-select:focus{
  background:var(--uhc-bg);
  border-color:var(--uhc-gold);
  box-shadow:0 0 0 3px rgba(250,198,67,.18);
  color:var(--uhc-title);
}
.form-control::placeholder{ color:var(--uhc-muted); opacity:.8; }
.form-control:disabled,.form-control[readonly]{ background:var(--uhc-surface-2); opacity:.7; }
.input-group-text{
  background:var(--uhc-surface-2);
  border-color:var(--uhc-border);
  color:var(--uhc-muted);
  border-radius:var(--uhc-radius-input);
}
label,.form-control-label,.col-form-label{
  color:var(--uhc-text); font-weight:500; font-size:13.5px; margin-bottom:6px;
}
.form-control,.custom-select{ font-size:14.5px; }
/* ícone dentro do campo (register/checkout/cupom): o texto NUNCA fica sob o ícone */
.field-icon{ color:var(--uhc-muted); pointer-events:none; }
.field-icon ~ .form-control,
.field-icon ~ .field,
.form-group:has(> .field-icon) .form-control,
.form-group:has(> .field-icon) select{ padding-left:48px !important; }
.custom-control-input:checked ~ .custom-control-label::before{
  background-color:var(--uhc-gold); border-color:var(--uhc-gold);
}
.custom-control-label::before{ background:var(--uhc-bg); border-color:var(--uhc-border-strong); }

/* ---------- tabelas ---------- */
.table{ color:var(--uhc-text); }
.table thead th{
  border-color:var(--uhc-border);
  color:var(--uhc-muted);
  font-family:'Poppins',sans-serif;
  font-weight:500; font-size:13px; letter-spacing:.4px; text-transform:uppercase;
  background:transparent;
}
.table td,.table th{ border-color:var(--uhc-border); }
.table-striped tbody tr:nth-of-type(odd){ background:rgba(255,255,255,.02); }
.table-hover tbody tr:hover{ background:rgba(250,198,67,.05); color:var(--uhc-title); }
.table .btn{ box-shadow:none; }
table.dataTable,
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input{
  background:var(--uhc-bg); color:var(--uhc-text); border-color:var(--uhc-border);
}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter{ color:var(--uhc-muted); }

/* ---------- alertas / badges / status ---------- */
.alert{ border-radius:var(--uhc-radius-input); border-width:1px; }
.alert-success{ background:rgba(74,222,128,.10); border-color:rgba(74,222,128,.4); color:var(--uhc-success); }
.alert-danger,.alert-error{ background:rgba(248,113,113,.10); border-color:rgba(248,113,113,.4); color:var(--uhc-danger); }
.alert-warning{ background:rgba(251,191,36,.10); border-color:rgba(251,191,36,.4); color:var(--uhc-warn); }
.alert-info{ background:rgba(125,211,252,.10); border-color:rgba(125,211,252,.4); color:var(--uhc-info); }
.badge{ font-weight:500; border-radius:999px; padding:.35em .8em; }
.badge-dark{ background:var(--uhc-surface-2); }
/* estados de serviço/fatura do WHMCS */
.status-active,.label-success,.badge-success{ background:rgba(74,222,128,.15) !important; color:var(--uhc-success) !important; }
.status-pending,.label-warning,.badge-warning{ background:rgba(251,191,36,.15) !important; color:var(--uhc-warn) !important; }
.status-suspended,.status-overdue,.label-danger,.badge-danger{ background:rgba(248,113,113,.15) !important; color:var(--uhc-danger) !important; }
.status-cancelled,.status-terminated,.label-default,.badge-secondary{ background:rgba(156,157,166,.15) !important; color:var(--uhc-muted) !important; }
.badge-info,.label-info{ background:rgba(125,211,252,.15) !important; color:var(--uhc-info) !important; }

/* ---------- modais / popovers / tooltips ---------- */
.modal-content{
  background:var(--uhc-surface);
  border:1px solid var(--uhc-border);
  border-radius:var(--uhc-radius-card);
  color:var(--uhc-text);
}
.modal-header,.modal-footer{ border-color:var(--uhc-border); }
.modal .close{ color:var(--uhc-text); text-shadow:none; }
.modal-backdrop.show{ opacity:.7; }
.popover{ background:var(--uhc-surface); border:1px solid var(--uhc-border); }
.popover-body{ color:var(--uhc-text); }
.popover .arrow::after{ border-bottom-color:var(--uhc-surface); border-top-color:var(--uhc-surface); }
.tooltip-inner{ background:var(--uhc-surface-2); color:var(--uhc-text); }
#fullpage-overlay{ background:rgba(28,29,33,.9); }
.client-alerts a{ color:var(--uhc-text); }
.client-alerts a:hover{ color:var(--uhc-gold); }

/* ---------- abas / paginação / progresso ---------- */
.nav-tabs{ border-color:var(--uhc-border); }
.nav-tabs .nav-link{ color:var(--uhc-muted); border:0; border-bottom:2px solid transparent; }
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link{
  background:transparent; color:var(--uhc-gold); border-bottom:2px solid var(--uhc-gold);
}
.nav-pills .nav-link{ color:var(--uhc-text); border-radius:var(--uhc-radius-pill); }
.nav-pills .nav-link.active{ background:var(--uhc-gold); color:var(--uhc-on-gold); }
.page-link{
  background:var(--uhc-surface); border-color:var(--uhc-border); color:var(--uhc-text);
}
.page-link:hover{ background:var(--uhc-surface-2); color:var(--uhc-gold); border-color:var(--uhc-border); }
.page-item.active .page-link{ background:var(--uhc-gold); border-color:var(--uhc-gold); color:var(--uhc-on-gold); }
.page-item.disabled .page-link{ background:var(--uhc-surface); border-color:var(--uhc-border); color:var(--uhc-muted); }
.progress{ background:var(--uhc-surface-2); border-radius:999px; }
.progress-bar{ background:var(--uhc-gold); color:var(--uhc-on-gold); }

/* ---------- área de login ---------- */
.login-form .card,
.mw-540{ box-shadow:var(--uhc-shadow-lift); margin-left:auto; margin-right:auto; }
.login-form .card-footer a{ color:var(--uhc-gold); }
.providerLinkingFeedback + .login-form{ margin-top:40px; }
/* o addon de login injeta um form com ícone/estilos inline — domar proporções */
.login-form .fa-lock{ font-size:1.5rem !important; color:var(--uhc-gold); }
.login-form .h3{ font-size:22px; }
.login-form .btn{ margin-right:6px; }
.login-form .form-check-input{ margin-top:.35rem; }

/* ---------- home da central (não logado) ---------- */
.home-shortcuts{ background:var(--uhc-surface); border-color:var(--uhc-border); }
.home-shortcuts .list-inline-item a{ color:var(--uhc-text); }
.home-shortcuts .list-inline-item a:hover{ color:var(--uhc-gold); }
.domain-search-wrapper{ background:var(--uhc-surface); }

/* ---------- boas-vindas do dashboard (adicionada pelo tema) ---------- */
.uhc-welcome{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:6px 0 22px;
}
.uhc-welcome h1{
  font-size:clamp(24px,3vw,34px); margin:0; letter-spacing:-.3px;
}
.uhc-welcome h1 em{ font-style:normal; color:var(--uhc-gold); }
.uhc-welcome p{ margin:4px 0 0; color:var(--uhc-muted); }
@media (max-width:720px){ .uhc-welcome{ flex-direction:column; align-items:flex-start; } }

/* ---------- rodapé ---------- */
#footer.footer{
  background:#17181B;
  border-top:1px solid var(--uhc-border);
  color:var(--uhc-muted);
  padding-top:28px; padding-bottom:28px;
}
.footer .nav-link{ color:var(--uhc-muted); padding-left:0; padding-right:24px; font-size:13.5px; }
.footer .nav-link:hover{ color:var(--uhc-gold); }
.footer .copyright{ color:var(--uhc-muted); font-size:12.5px; margin-top:4px; }
.uhc-hegapo{ font-size:12.5px; color:var(--uhc-muted); margin-top:2px; }
.footer .btn{ font-size:13px; }

/* botão flutuante de WhatsApp — igual ao site */
.uhc-whats{
  position:fixed; right:22px; bottom:22px; z-index:1040;
  width:54px; height:54px; border-radius:50%;
  background:var(--uhc-whatsapp); color:#fff !important;
  display:flex; align-items:center; justify-content:center;
  font-size:26px;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  transition:transform .18s ease;
}
.uhc-whats:hover{ transform:scale(1.08); color:#fff; }
/* o flutuante não pode cobrir o rodapé em telas menores */
@media (max-width:1100px){ #footer.footer{ padding-bottom:88px; } }

/* ---------- miudezas que entregavam o WHMCS ---------- */
.panel{ background:var(--uhc-surface); border-color:var(--uhc-border); }
.panel-heading{ background:var(--uhc-surface-2); border-color:var(--uhc-border); color:var(--uhc-title); }
.well{ background:var(--uhc-surface-2); border-color:var(--uhc-border); }
.ticket-reply,.message{ background:var(--uhc-surface); border-color:var(--uhc-border); }
.kb-article-content{ color:var(--uhc-text); }
.invoice-container,.invoice-header{ background:var(--uhc-surface); color:var(--uhc-text); }
.text-dark{ color:var(--uhc-title) !important; }
.border,.border-top,.border-bottom,.border-left,.border-right{ border-color:var(--uhc-border) !important; }


/* ---- menu principal legível (o nexus usa navbar-light: rgba(0,0,0,.5) — some no fundo escuro) ---- */
body header.header .navbar a,
body .navbar-light .navbar-nav .nav-link,
body header.header .navbar-nav .nav-link{ color:#E9EAEF; }
body .navbar-light .navbar-nav .nav-link:hover,
body .navbar-light .navbar-nav .nav-link:focus,
body header.header .navbar-nav .nav-link:hover{ color:#FAC643; }
body .navbar-light .navbar-nav .show > .nav-link,
body .navbar-light .navbar-nav .active > .nav-link,
body .navbar-light .navbar-nav .nav-link.active{ color:#FAC643; }

/* ---- vitrine de pacotes: duplicado aqui (além do custom.css do uhost_cart) para
   alcançar navegadores que seguram o css do cart em cache; especificidade > all.min ---- */
body #order-standard_cart .products .product,
body #order-standard_cart .product{ background:#26272D; border:1px solid #3A3B44; border-radius:16px; }
body #order-standard_cart .products .product header,
body #order-standard_cart .cart-body .products .product header{ background:transparent; border-bottom:1px solid #3A3B44; }
body #order-standard_cart .products .product header span,
body #order-standard_cart .cart-body .products .product header span{ color:#FFFFFF; font-family:'Syne',sans-serif; font-weight:700; }
body #order-standard_cart .products .product .product-desc{ background:transparent; color:#9C9DA6; }
body #order-standard_cart .products .product footer{ background:transparent; }


/* ============================================================
   PASSE DE LEGIBILIDADE — 2026-09-20  (bloco "-u3")
   Causa raiz medida: o Nexus inteiro e escrito em cima de ~38 tokens
   (--text, --border, --grayscale-*, --rounding-*) que NAO existem em
   nenhum css instalado. Toda declaracao que usa esses tokens e
   invalida e cai no valor herdado; onde o Nexus nao usa token, usa
   #fff literal (cabecalho e rodape dos paineis, botoes, editor).
   Aqui os tokens do Nexus sao DEFINIDOS em dark — isso conserta
   dezenas de componentes de uma vez — e os brancos literais caem.
   ============================================================ */

/* ---------- 1. tokens do Nexus, em dark (a correcao de raiz) ---------- */
:root{
  /* superficies */
  --bg:#1C1D21;
  --bg-lifted:#26272D;
  --bg-accented:#33343F;
  --bg-muted:#202126;
  --bg-inverted:#1C1D21;
  /* texto */
  --text:#D3D3D3;
  --text-lifted:#FFFFFF;
  --text-accented:#FFFFFF;
  --text-muted:#9C9DA6;
  --text-inverted:#FFFFFF;
  /* bordas */
  --border:#3A3B44;
  --border-muted:#2F3038;
  --border-lifted:#4A4B56;
  --border-accented:#6D6E7C;
  /* cinzas de botao/controle */
  --grayscale:#3A3B44;
  --grayscale-lifted:#4A4B56;
  --grayscale-accented:#33343F;
  /* raios (95 usos de --rounding-md estavam invalidos = canto reto) */
  --rounding-sm:10px;
  --rounding-md:12px;
  --rounding-lg:16px;
  /* semanticas */
  --success:#4ADE80;   --success-accented:#22C55E;
  --error:#F87171;     --error-lifted:#FCA5A5;
  --notice:#C084FC;    --notice-lifted:#D8B4FE;
  --neutral:#6B6C78;   --neutral-lifted:#7C7D8A;  --neutral-accented:#565762;
  --info-accented:#7DD3FC;
  --warning-accented:#FBBF24;
  /* paleta pontual usada pelo Nexus */
  --yellow-200:#FFE9A8; --yellow-300:#FAC643;
  --teal-300:#5EEAD4;   --teal-400:#2DD4BF;
  --pink-400:#F472B6;   --emerald-300:#6EE7B7;
  /* miudezas */
  --disabled-opacity:.55;
  --letter-spacing:normal;
}
/* o miolo da pagina nao e painel: os cartoes e que devem saltar */
section#main-body{ background-color:transparent !important; }

/* ---------- 2. os brancos literais do painel inicial ---------- */
/* .client-home-cards .card-header{background-color:#fff} (0,2,0) e
   body .primary-content ... .card-footer{background:white} (0,4,1)  */
body .primary-content .client-home-cards .card .card-header,
body .primary-content .client-home-cards .card .card-footer,
.client-home-cards .card-header,
.client-home-cards .card-footer{
  background:transparent !important;
  border-color:var(--uhc-border) !important;
}
body .primary-content .client-home-cards .card .card-header{
  border-bottom:1px solid var(--uhc-border) !important;
}
body .primary-content .client-home-cards .card .card-footer{
  border-top:1px solid var(--uhc-border) !important;
}
/* botao do cabecalho do painel: era branco sobre branco */
body .primary-content .client-home-cards .card .card-header .btn,
.client-home-cards .card-header .btn{
  background:transparent !important;
  color:var(--uhc-muted) !important;
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-pill) !important;
  font-size:12.5px; font-weight:500; letter-spacing:.4px;
  padding:6px 16px !important;
}
body .primary-content .client-home-cards .card .card-header .btn:hover,
.client-home-cards .card-header .btn:hover{
  background:rgba(250,198,67,.10) !important;
  border-color:var(--uhc-gold) !important;
  color:var(--uhc-gold) !important;
}
body .primary-content .client-home-cards .card .card-footer .btn-view-more{
  color:var(--uhc-muted) !important;
}
body .primary-content .client-home-cards .card .card-footer .btn-view-more:hover{
  color:var(--uhc-gold) !important;
}
/* o miolo dos paineis tem padding 0 no Nexus — texto colado na borda */
.client-home-cards .card-body{ padding:16px 20px !important; }
.client-home-cards .card-body p:last-child{ margin-bottom:0; }
/* linhas de servico dentro do painel */
body .primary-content .client-home-cards .card .list-group .list-group-item{
  padding:10px 20px !important;
  border-color:var(--uhc-border) !important;
}

/* ---------- 3. editor de ticket (bootstrap-markdown = bloco branco) ---------- */
.md-editor{
  background:var(--uhc-bg) !important;
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-input);
  overflow:hidden;
}
.md-editor > .md-header,
.md-editor .md-footer{
  background:var(--uhc-surface-2) !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-muted) !important;
  padding:8px !important;
}
.md-editor > textarea,
.md-editor > textarea:focus,
.md-editor .md-input{
  background:var(--uhc-bg) !important;
  color:var(--uhc-text) !important;
  border-top:1px solid var(--uhc-border) !important;
  border-bottom:1px solid var(--uhc-border) !important;
  font-family:"Poppins",sans-serif !important;
  font-size:14.5px !important;
  line-height:1.6;
  padding:14px !important;
}
.md-editor > .md-preview{
  background:var(--uhc-bg) !important;
  color:var(--uhc-text) !important;
  border-color:var(--uhc-border) !important;
  padding:14px !important;
}
.md-editor .md-header .btn,
.md-editor .md-header .btn-default{
  background:var(--uhc-surface) !important;
  color:var(--uhc-text) !important;
  border:1px solid var(--uhc-border) !important;
  border-radius:8px !important;
  padding:5px 10px !important;
}
.md-editor .md-header .btn:hover{ color:var(--uhc-gold) !important; border-color:var(--uhc-gold) !important; }
.md-editor .md-controls .md-control{ color:var(--uhc-muted) !important; }
.md-editor .md-controls .md-control:hover{ color:var(--uhc-gold) !important; }
.md-editor.active{ border-color:var(--uhc-gold) !important; box-shadow:0 0 0 3px rgba(250,198,67,.15) !important; }
.md-editor.md-fullscreen-mode{ background:var(--uhc-bg) !important; }
.md-editor.md-fullscreen-mode .md-input,
.md-editor.md-fullscreen-mode .md-preview,
.md-editor.md-fullscreen-mode .md-input:focus,
.md-editor.md-fullscreen-mode .md-input:hover{
  background:var(--uhc-bg) !important; color:var(--uhc-text) !important;
}

/* ---------- 4. faixa de "verifique seu e-mail" (era #f9f9f9 com texto #333) ---------- */
.verification-banner{
  background:rgba(251,191,36,.10) !important;
  border-bottom:1px solid rgba(251,191,36,.30) !important;
  color:var(--uhc-text) !important;
}
.verification-banner .fas,
.verification-banner .fal,
.verification-banner .far{ color:var(--uhc-warn) !important; }
.verification-banner .btn.close{ color:var(--uhc-muted) !important; opacity:1; }
.verification-banner .btn.close:hover{ color:var(--uhc-text) !important; }
.verification-banner.email-verification .btn.btn-action,
.verification-banner.email-verification .btn.btn-action:active,
.verification-banner.email-verification .btn.btn-action[disabled]:hover{
  background-color:var(--uhc-gold) !important;
  border-color:var(--uhc-gold) !important;
  color:var(--uhc-on-gold) !important;
  font-weight:600;
  border-radius:var(--uhc-radius-pill);
}

/* ---------- 5. tabelas: hierarquia (nome forte, resto secundario) ---------- */
.table-list td,
table.dataTable tbody td{ padding:14px 12px; vertical-align:middle; }
.table-list td strong,
table.dataTable tbody td strong{
  color:#FFFFFF !important;
  font-weight:600;
  font-size:14.5px;
}
.table-list td a,
table.dataTable tbody td a{ color:var(--uhc-gold); font-size:13.5px; }
.table-list td small,
table.dataTable tbody td small,
.table-list td .text-muted{ color:var(--uhc-muted) !important; }
.table thead th,
table.dataTable thead th{
  color:var(--uhc-muted) !important;
  border-bottom:1px solid var(--uhc-border) !important;
  background:transparent !important;
}
table.dataTable tbody tr{ border-bottom:1px solid #2F3038; }
table.dataTable tbody tr:hover,
.table-list tbody tr:hover{ background:rgba(250,198,67,.06) !important; cursor:pointer; }
/* estado vazio deixa de sumir */
.dataTables_empty,
td.dataTables_empty{ color:var(--uhc-muted) !important; padding:28px 12px !important; }
/* pilulas de status: contorno + peso (referencia: paineis de billing dark) */
.label.status,
span.label.status{
  display:inline-block; border-radius:999px;
  padding:.32em .85em; font-size:12px; font-weight:600; letter-spacing:.2px;
  border:1px solid transparent;
}
.status-active{ border-color:rgba(74,222,128,.35) !important; }
.status-terminated,.status-cancelled,.status-expired{
  background:rgba(156,157,166,.12) !important;
  color:#A8A9B4 !important;
  border-color:rgba(156,157,166,.30) !important;
}
.status-pending{ border-color:rgba(251,191,36,.35) !important; }
.status-suspended,.status-overdue{ border-color:rgba(248,113,113,.35) !important; }
/* barra de busca/paginacao do dataTables */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length input,
.dataTables_wrapper .dataTables_length select{
  background:var(--uhc-surface) !important;
  border:1px solid var(--uhc-border) !important;
  color:var(--uhc-text) !important;
  border-radius:var(--uhc-radius-input);
}

/* ---------- 6. acoes primarias: dourado da marca, nao verde do Bootstrap ---------- */
body .sidebar .btn-success,
body .primary-content .client-home-cards .card .btn-success{
  background:var(--uhc-gold) !important;
  border-color:var(--uhc-gold) !important;
  color:var(--uhc-on-gold) !important;
  font-weight:600;
}
body .sidebar .btn-success:hover{
  background:var(--uhc-gold-hover) !important;
  border-color:var(--uhc-gold-hover) !important;
  color:var(--uhc-on-gold) !important;
}

/* ---------- 7. barra de mascaramento do admin (so o dono ve) ---------- */
#adminMasqueradingBar,
.admin-masquerading-bar,
#returnToAdminArea{
  background:var(--uhc-surface-2) !important;
  color:var(--uhc-text) !important;
  border-color:var(--uhc-border) !important;
}


/* ---------- 8. atalho de painel na linha de servico (bloco "-u4", 2026-09-21) ---------- */
/* substitui o "Faca login no cPanel" da home pelo painel que o cliente usa */
.uhc-painel-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--uhc-gold) !important;
  border:1px solid var(--uhc-gold) !important;
  color:var(--uhc-on-gold) !important;
  font-weight:600; white-space:nowrap;
  border-radius:var(--uhc-radius-pill) !important;
}
.uhc-painel-btn:hover,
.uhc-painel-btn:focus{
  background:var(--uhc-gold-hover) !important;
  border-color:var(--uhc-gold-hover) !important;
  color:var(--uhc-on-gold) !important;
  text-decoration:none;
}
.uhc-painel-btn i{ font-size:13px; }
.div-service-buttons{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }


/* ============================================================
   PASSE 2 DE LEGIBILIDADE — 2026-09-21 (bloco "-u5")
   Os brancos que sobraram FORA dos paineis da home, achados varrendo
   theme.css/store.css por "background: #fff|white|#f8f9fa|#f5f5f5|#efefef"
   com o seletor de cada regra (o css e multi-linha, entao a varredura foi
   por awk guardando a ultima linha que termina em "{").
   Paginas do relato: ?action=emails, /account/contacts, supporttickets.php
   e cart.php?a=add&domain=register.
   ============================================================ */

/* ---------- 1. tabelas (dataTables): cabecalho, moldura e vazio ---------- */
/* o cabecalho branco vinha de .dataTables_wrapper table.table-list thead th.sorting_asc
   (#f6f6f6) e da moldura #ddd; aqui as superficies da tabela viram transparentes
   e quem pinta e o cartao dark por baixo */
body .table-container,
body .dataTables_wrapper,
body .dataTables_wrapper table.table-list,
body table.table-list,
body table.dataTable,
body table.dataTable thead th,
body table.dataTable thead td,
body .dataTables_wrapper table.table-list thead th,
body .dataTables_wrapper table.table-list thead th.sorting,
body .dataTables_wrapper table.table-list thead th.sorting_asc,
body .dataTables_wrapper table.table-list thead th.sorting_desc,
body .dataTables_scrollHead,
body .dataTables_scrollBody,
body .dataTables_scrollFoot,
body table.dataTable tbody tr,
body table.dataTable tbody td,
body td.dataTables_empty{
  background-color:transparent !important;
}
body .dataTables_wrapper table.table-list{
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-input);
  overflow:hidden;
}
body .dataTables_wrapper table.table-list thead th{
  border-bottom:1px solid var(--uhc-border) !important;
  color:var(--uhc-muted) !important;
  font-weight:500 !important;
}
/* contraste do conteudo da tabela */
body table.table-list tbody td{ color:#C7C8D1; }
body table.table-list tbody td a{ color:var(--uhc-gold); }
body table.dataTable tbody tr:hover > td{ background-color:rgba(250,198,67,.06) !important; }
/* campo de busca do dataTables (vinha com url(search.png) #fff) */
body .dataTables_wrapper .dataTables_filter label .form-control{
  background-color:var(--uhc-surface) !important;
  background-image:none !important;
  padding-left:14px !important;
  color:var(--uhc-text) !important;
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-input);
}

/* ---------- 2. cabecalho/rodape de cartao e painel (fora da home) ---------- */
/* /account/contacts: a caixa "Selecione Contato" e um .alert:has(form){background:white} */
body .alert:has(form){
  background-color:var(--uhc-surface) !important;
  border:1px solid var(--uhc-border) !important;
  color:var(--uhc-text) !important;
}
body .card > .card-header,
body .card > .card-footer,
body .panel > .panel-heading,
body .panel > .panel-footer,
body .panel-default > .panel-heading,
body #order-standard_cart .panel .panel-heading,
body #order-standard_cart .panel .panel-footer{
  background-color:transparent !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-title) !important;
}

/* ---------- 3. popover de notificacoes ---------- */
body .popover{
  background-color:var(--uhc-surface) !important;
  border:1px solid var(--uhc-border) !important;
}
body .popover-body,
body .client-alerts,
body .client-alerts li,
body .client-alerts li a{ background-color:transparent !important; }
body .client-alerts li a{ color:var(--uhc-text) !important; display:block; padding:10px 12px; border-radius:10px; }
body .client-alerts li a:hover{ background-color:rgba(250,198,67,.10) !important; color:var(--uhc-gold) !important; }
body .client-alerts li + li{ border-top:1px solid var(--uhc-border); }

/* ---------- 4. carrinho: tabela de precos de dominio e caixas de promo ---------- */
body #order-standard_cart .domain-promo-box,
body #order-standard_cart .domain-pricing .tld-pricing-header .tld-column,
body #order-standard_cart .domain-pricing .tld-pricing-header div,
body #order-standard_cart .domain-pricing .tld-pricing-header:has(~ .filtered-row) .tld-column,
body .domain-pricing .tld-pricing-header .col-sm-4,
body .domain-pricing .tld-pricing-header div:nth-child(odd){
  background-color:var(--uhc-surface) !important;
  color:var(--uhc-text) !important;
}
body .domain-pricing .tld-pricing-header,
body .domain-pricing .tld-pricing-header div{
  border-color:var(--uhc-border) !important;
  color:var(--uhc-muted) !important;
}
body .domain-pricing .tld-row.highlighted,
body #order-standard_cart .domain-pricing .bg-white .highlighted{
  background-color:var(--uhc-surface-2) !important;
}
body #order-standard_cart .domain-pricing .tld-filters .badge{
  background-color:var(--uhc-surface-2) !important;
  color:var(--uhc-text) !important;
  border:1px solid var(--uhc-border) !important;
}
body #order-standard_cart .domain-promo-box{
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-card);
}
body #order-standard_cart .domain-promo-box h3,
body #order-standard_cart .domain-promo-box h4,
body #order-standard_cart .domain-promo-box strong{ color:var(--uhc-title) !important; }

/* ---------- 5. botoes que ainda nao eram da marca ---------- */
/* "Exibir Mensagem" do historico de e-mails vinha ciano (btn-info do Bootstrap) */
.btn-info,
.btn-info:not(:disabled):not(.disabled){
  background:transparent !important;
  border:1px solid var(--uhc-border-strong) !important;
  color:var(--uhc-text) !important;
}
.btn-info:hover,.btn-info:focus,.btn-info:active{
  background:rgba(250,198,67,.08) !important;
  border-color:var(--uhc-gold) !important;
  color:var(--uhc-gold) !important;
}

/* ---------- 6. miudezas brancas do resto da central ---------- */
body .modal .modal-header{ background-color:var(--uhc-surface-2) !important; }
body .modal-localisation .item-selector .item:hover{ background-color:var(--uhc-surface-2) !important; }
body .nav-tabs .nav-item.show .nav-link{ background-color:transparent !important; }
body .responsive-tabs-sm,
body .responsive-tabs-sm-connector .channel{ background:transparent !important; }
body .responsive-tabs-sm .nav-item a.active{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-gold) !important; }
body .home-domain-search .input-group-wrapper{ background-color:var(--uhc-surface) !important; }
body .action-icon-btns a{
  background-color:var(--uhc-surface) !important;
  border:1px solid var(--uhc-border) !important;
  color:var(--uhc-text) !important;
}
body .img-thumbnail,
body .custom-file-label,
body .custom-control-label::before{ background-color:var(--uhc-bg) !important; border-color:var(--uhc-border) !important; }
body .page-link,
body .page-item.disabled .page-link{ background-color:var(--uhc-surface) !important; border-color:var(--uhc-border) !important; color:var(--uhc-text) !important; }
body .page-item.active .page-link{ background-color:var(--uhc-gold) !important; border-color:var(--uhc-gold) !important; color:var(--uhc-on-gold) !important; }
body .badge-light{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-text) !important; }
body .btn.btn-success.open-modal.twofa-config-link.enable{
  background-color:var(--uhc-gold) !important; border-color:var(--uhc-gold) !important; color:var(--uhc-on-gold) !important;
}
/* alert-warning do Bootstrap (#fff3cd) aparece em avisos de conta */
body .alert-warning{ background-color:rgba(251,191,36,.10) !important; border-color:rgba(251,191,36,.35) !important; color:var(--uhc-warn) !important; }

/* compat: os seletores acima foram agrupados com um :has() — navegador sem
   suporte descarta o GRUPO inteiro. Repetidos aqui sem :has() para garantir. */
body #order-standard_cart .domain-promo-box,
body #order-standard_cart .domain-pricing .tld-pricing-header .tld-column,
body #order-standard_cart .domain-pricing .tld-pricing-header div,
body .domain-pricing .tld-pricing-header .col-sm-4,
body .domain-pricing .tld-pricing-header div:nth-child(odd){
  background-color:#26272D !important;
  color:#D3D3D3 !important;
}
body .domain-pricing .tld-row.highlighted{ background-color:#33343F !important; }


/* ============================================================
   PASSE 3 DE LEGIBILIDADE — 2026-10-01 (bloco "-u6")
   Achado por varredura AUTOMATICA de contraste (criterio WCAG AA: 4,5:1
   texto normal, 3:1 texto grande) nos 84 templates do tema + 20 do
   carrinho, renderizados com o CSS servido (all.min -> theme.min ->
   custom), comparando a cor de cada texto com o fundo efetivo.
   Linha de base: 799 falhas / 129 combinacoes. Dois tipos:
   (a) TEXTO ESCURO NO FUNDO ESCURO — cores de fabrica do Bootstrap/Nexus
       (#333, #666, #212529, .alert-link) e dois tokens do bloco -u3 que o
       Nexus tambem usa como COR DE TEXTO: --bg-inverted (#1C1D21) e
       --bg-lifted (#26272D);
   (b) TEXTO CLARO NO FUNDO CLARO — superficies brancas/cinza de fabrica
       que sobraram (totais da fatura, carrinho, upgrade, convite...).
   ============================================================ */

/* ---------- 1. tokens usados como cor de texto ---------- */
/* resumo dos artigos da Base de Conhecimento e dos Downloads:
   .kb-article-item small{color:var(--bg-lifted)} = #26272D sobre #26272D */
body .kb-article-item small,
body .kb-article-item .text-muted{ color:var(--uhc-muted) !important; }
/* rotulos dos paineis do carrinho: color:var(--bg-inverted) = #1C1D21 */
html body #order-standard_cart .panel label,
html body #order-standard_cart label,
html body #order-standard_cart .panel-addon .panel-body label,
html body #order-standard_cart .domain-checker-advanced label,
html body #order-standard_cart p.domain-renewal-desc,
body .service-renewals .div-renewal-period-label{ color:var(--uhc-text); }
/* token que o Nexus usa e ninguem definiu (olho de "mostrar senha") */
:root{ --info:#7DD3FC; }

/* ---------- 2. links dentro de avisos ---------- */
/* o Bootstrap pinta .alert-link com o tom ESCURO de cada variante
   (#533f03, #062c33, #0b2e13, #491217) = preto no preto. Aparece no
   numero do ticket recem-aberto, no "ver detalhes" dos avisos de rede,
   no link do cadastro e nos avisos do carrinho. */
body .alert .alert-link{
  color:inherit !important;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}
body .alert .alert-link:hover{ color:var(--uhc-title) !important; }

/* ---------- 3. rotulos e textos auxiliares de fabrica (#333/#666/#888) ---------- */
body #registration label,
body .using-password-strength label,
body label.form-check,
body label.radio-inline,
body label.checkbox-inline{ color:var(--uhc-text); }
body .field-help-text,
body #registration .field-help-text,
html body #order-standard_cart .field-help-text,
body .home-domain-search .tld-logos,
body .tld-logos li{ color:var(--uhc-muted) !important; }
/* asterisco de campo obrigatorio: #dc3545 = 3,3:1 no escuro */
body .text-danger{ color:var(--uhc-danger) !important; }
body a.text-danger:hover{ color:#FCA5A5 !important; }
/* icones da barra do topo: hover ia para #666 */
body header.header .toolbar .nav-link:hover{ color:var(--uhc-gold); }
/* etiquetas de status: o texto ficava em 4,3:1 */
body .label-default,
body .status-cancelled,
body .status-terminated,
body .badge-secondary{ color:#B9BAC2 !important; }
body .label-danger,
body .status-suspended,
body .status-overdue,
body .badge-danger{ color:#FCA5A5 !important; }
/* "[ok]" verde e "[remover]" vermelho do carrinho (#009900 / #cc0000) */
html body #order-standard_cart .form-group > span[style*="009900"],
html body #order-standard_cart span.text-success{ color:var(--uhc-success) !important; }
html body #order-standard_cart .form-group > a[style*="cc0000"]{ color:var(--uhc-danger) !important; }

/* botao sem variante: .btn{color:#212529} — ex.: "Cancelar" da troca de
   senha no detalhe do servico (<input class="btn" type="reset">) */
body .btn:not([class*="btn-"]){
  color:var(--uhc-text);
  background-color:transparent;
  border:1px solid var(--uhc-border-strong);
}
body .btn:not([class*="btn-"]):hover{ color:var(--uhc-gold); border-color:var(--uhc-gold); }

/* ---------- 4. campos: select, anexo, codigo ---------- */
/* .custom-select ganhou background:var(--uhc-bg) no shorthand e perdeu a
   seta; o texto ainda saia #6c757d em alguns selects */
body select.form-control,
body .custom-select{ color:var(--uhc-text) !important; }
body .custom-select{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3e%3cpath fill='none' stroke='%239C9DA6' stroke-width='1.5' d='M1 1l4 4 4-4'/%3e%3c/svg%3e") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:10px 6px !important;
  padding-right:36px;
}
body select option,
body select optgroup{ background-color:#26272D; color:#D3D3D3; }
/* campo de anexo (Abrir ticket / Responder): #495057 sobre o escuro */
body .custom-file-label{
  color:var(--uhc-text) !important;
  border-radius:var(--uhc-radius-input);
}
body .custom-file-label::after{
  background-color:var(--uhc-surface-2) !important;
  color:var(--uhc-gold) !important;
  border-left:1px solid var(--uhc-border) !important;
  border-radius:0 var(--uhc-radius-input) var(--uhc-radius-input) 0;
}
/* blocos de codigo (guia de formatacao do ticket, respostas): pre{color:#212529} */
body pre,
body .markdown-content pre,
body .md-preview pre{
  background-color:var(--uhc-surface-2) !important;
  color:var(--uhc-text) !important;
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-input);
  padding:12px 14px;
}
body pre strong, body pre em, body pre code{ color:inherit !important; }
body code{ color:var(--uhc-gold); }
body pre code{ background:transparent; padding:0; }

/* ---------- 5. superficies claras que sobraram ---------- */
/* totais da fatura, do pagamento em massa e do resumo de upgrade (#efefef/#f8f8f8) */
body tr.masspay-total td,
body .invoice-summary-table td.total-row,
body .invoice-container td.total-row{
  background-color:var(--uhc-surface-2) !important;
  color:var(--uhc-title) !important;
}
/* avaliacao de atendimento (ticketfeedback) */
body .ticketfeedbackstaffcont{
  background-color:var(--uhc-surface-2) !important;
  color:var(--uhc-text);
  border-radius:var(--uhc-radius-input);
}
body .ticketfeedbackstaffcont strong{ color:var(--uhc-title); }
/* convite de usuario (user-invite-accept) */
body .invite-box{
  background-color:var(--uhc-surface) !important;
  border-color:var(--uhc-border) !important;
  border-radius:var(--uhc-radius-card);
  color:var(--uhc-text);
}
/* cabecalho das respostas do ticket */
body .view-ticket .posted-by{
  background-color:var(--uhc-surface-2) !important;
  color:var(--uhc-muted) !important;
  border-color:var(--uhc-border) !important;
}
/* tabelas .table-list ANTES do dataTables montar (ou se o JS falhar):
   .table-list > tbody > tr > td{background:#fff} e thead th{#fff;#333} */
body table.table-list > tbody > tr > td{ background-color:transparent !important; }
body table.table-list thead th{ background-color:transparent !important; color:var(--uhc-muted) !important; }
body table.table-list > tbody > tr:hover > td{ background-color:rgba(250,198,67,.06) !important; }
/* selos de promocao de TLD: texto branco sobre amarelo/verde claro
   (so nas tres variantes com fundo colorido; a base fica com o texto claro) */
body .tld-sale-group-hot,
body .tld-sale-group-sale,
body .tld-sale-group-new{ color:#111111 !important; }
/* upgrade de produto (upgrade.tpl / upgrade-configure.tpl) */
body .upgrade .product-to-be-upgraded,
body .upgrade .products .product{
  background-color:var(--uhc-surface) !important;
  border:1px solid var(--uhc-border) !important;
  border-radius:var(--uhc-radius-card);
  color:var(--uhc-text);
}
body .upgrade .products .product .header{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-title) !important; }
body .upgrade .products .product .current{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-gold) !important; }
body .upgrade .products .product .recommended{ background-color:var(--uhc-gold) !important; color:var(--uhc-on-gold) !important; }
body .upgrade .products .product ul li{ color:var(--uhc-muted) !important; border-color:var(--uhc-border) !important; }
body .upgrade .products .product ul li span{ color:var(--uhc-title) !important; }
body .upgrade .products .fa-check{ color:var(--uhc-success) !important; }
body .upgrade .products .product .footer{ border-color:var(--uhc-border) !important; }
body .upgrade .products .product .btn{ background-color:var(--uhc-gold) !important; color:var(--uhc-on-gold) !important; border:0; }
/* detalhe do servico: caixa do icone (#efefef) com titulo branco */
body div.product-details div.product-icon{ background-color:var(--uhc-surface-2) !important; }
body div.product-details-tab-container{ background-color:var(--uhc-surface) !important; border-color:var(--uhc-border) !important; }
/* faixa de status do servico: branco sobre #46A546 dava 3:1 */
body .product-status-active{ background-color:#1F6B3A !important; }
body .product-status-pending{ background-color:#8A5A00 !important; }
body .product-status-suspended{ background-color:#1E4E8C !important; }
body .product-status-terminated,
body .product-status-cancelled{ background-color:#44454D !important; }
body .product-status-fraud{ background-color:#7F1D1D !important; }
/* botao "voltar ao admin" (so aparece no mascaramento do admin) */
body .btn-return-to-admin,
body .btn-return-to-admin .floating{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-text) !important; }
body .btn-return-to-admin:hover,
body .btn-return-to-admin .floating:hover{ background-color:#44454D !important; color:var(--uhc-gold) !important; }

/* ---------- 6. carrinho: o theme.css usa "body #order-standard_cart ..." (1,1,2)
   e vencia o custom.css do uhost_cart (1,1,1) — aqui com "html body" (1,1,3) ---------- */
html body #order-standard_cart .sub-heading span,
html body #order-standard_cart .sub-heading-borderless span{
  background:var(--uhc-bg) !important;
  color:var(--uhc-title) !important;
}
/* campos do carrinho: #order-standard_cart .field/.form-control
   {background:#fff; color:#626262; border:#DDD} (1,1,0) vencia o fundo
   escuro de .form-control (0,1,0) — selects e inputs brancos no tema escuro.
   Fundo, borda e texto mudam JUNTOS (texto claro sem fundo escuro = branco no branco). */
html body #order-standard_cart .field,
html body #order-standard_cart .form-control,
html body #order-standard_cart .custom-select{
  background-color:var(--uhc-bg) !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-text) !important;
}
html body #order-standard_cart .field:focus,
html body #order-standard_cart .form-control:focus{ border-color:var(--uhc-gold) !important; color:var(--uhc-title) !important; }
html body #order-standard_cart .field[disabled],
html body #order-standard_cart .field[readonly],
html body #order-standard_cart .form-control[disabled],
html body #order-standard_cart .form-control[readonly]{ background-color:var(--uhc-surface-2) !important; }
html body #order-standard_cart .field-icon i{ color:var(--uhc-muted) !important; }
/* Criar conta (register.php): #registration .field/.form-control
   {background:#fff; color:#626262; border:#DDD} (1,1,0) — mesmo caso */
body #registration .field,
body #registration .form-control{
  background-color:var(--uhc-bg) !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-text) !important;
}
body #registration .field:focus,
body #registration .form-control:focus{ border-color:var(--uhc-gold) !important; color:var(--uhc-title) !important; }
/* filtro de extensoes da busca avancada: .multiselect{color:#111827} */
html body #order-standard_cart .domain-checker-advanced .multiselect{
  background-color:var(--uhc-bg) !important;
  border:1px solid var(--uhc-border) !important;
  color:var(--uhc-text) !important;
}
/* caixa da busca de dominio (.input-group-box{#fff}) */
html body .domain-checker-container .input-group-box{
  background-color:var(--uhc-bg) !important;
  border:1px solid var(--uhc-border);
  border-radius:var(--uhc-radius-input);
  color:var(--uhc-text);
}
html body .domain-checker-container .input-group-box .form-control,
html body .domain-checker-container .input-group-box textarea{ background-color:transparent !important; color:var(--uhc-title) !important; }
/* botao de quantidade do item (.btn sem variante = #212529) */
html body #order-standard_cart .view-cart-items .item-qty .btn{
  background-color:var(--uhc-surface-2) !important;
  border:1px solid var(--uhc-border) !important;
  color:var(--uhc-text) !important;
}
/* subtitulo em 2 linhas ("Informacoes adicionais<br><small>campos
   obrigatorios...</small>"): .sub-heading tem height:0 e margin-bottom:30px,
   entao a 2a linha invadia o rotulo "CPF/CNPJ" logo abaixo. Regra isolada
   (sem agrupar) porque :has() derruba o grupo em navegador sem suporte. */
html body #order-standard_cart .sub-heading:has(br){ margin-bottom:54px; }
html body #order-standard_cart .sub-heading span small,
html body #order-standard_cart .sub-heading span i{ color:var(--uhc-muted) !important; }
/* itens do carrinho: .item{#fff} e :nth-child(even){#eee} */
html body #order-standard_cart .view-cart-items .item,
html body #order-standard_cart .view-cart-items .item:nth-child(even){
  background-color:var(--uhc-surface) !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-text);
}
html body #order-standard_cart .view-cart-items .item:nth-child(even){ background-color:#2A2B32 !important; }
html body #order-standard_cart .view-cart-items .item-title{ color:var(--uhc-title) !important; }
html body #order-standard_cart .view-cart-items .item-group,
html body #order-standard_cart .view-cart-items .item small,
html body #order-standard_cart .view-cart-items .cycle{ color:var(--uhc-muted) !important; }
html body #order-standard_cart .view-cart-items .item-domain{ color:var(--uhc-gold) !important; }
html body #order-standard_cart .view-cart-items .item-price{ color:var(--uhc-text); }
html body #order-standard_cart .view-cart-items-header{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-muted) !important; border-color:var(--uhc-border) !important; }
html body #order-standard_cart .view-cart-empty{ background-color:var(--uhc-surface) !important; color:var(--uhc-muted) !important; }
/* cupom e "finalizar com" (#fff / #e8e8e8) */
html body #order-standard_cart .view-cart-promotion-code{
  background-color:var(--uhc-surface) !important;
  border:1px dashed var(--uhc-border-strong) !important;
  color:var(--uhc-text) !important;
}
html body #order-standard_cart .view-cart-gateway-checkout{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-text) !important; }
/* resumo do pedido: cobrancas recorrentes em #777 sobre o escuro */
html body #order-standard_cart .order-summary .recurring-charges,
html body #order-standard_cart .order-summary .recurring-charges .cost,
html body #order-standard_cart .order-summary [id^="recurring"]{ color:var(--uhc-muted) !important; }
/* "continuar comprando": .btn-continue-shopping{color:#222} */
html body #order-standard_cart .order-summary .btn-continue-shopping,
html body #order-standard_cart #continueShopping{ color:var(--uhc-muted) !important; }
html body #order-standard_cart .order-summary .btn-continue-shopping:hover,
html body #order-standard_cart #continueShopping:hover{ color:var(--uhc-gold) !important; }
/* addons do produto: preco em #e8e8e8 e "adicionar" verde com texto branco (2,5:1) */
html body #order-standard_cart .panel-addon .panel-price{ background-color:var(--uhc-surface-2) !important; color:var(--uhc-title) !important; }
html body #order-standard_cart .panel-addon .panel-add,
html body #order-standard_cart .panel-addon-selected .panel-add{ background-color:var(--uhc-gold) !important; color:var(--uhc-on-gold) !important; }
html body #order-standard_cart .panel-addon-selected{ border-color:var(--uhc-gold) !important; }
/* renovacao de dominio/servico: listas em #f8f8f8/#f4f4f4/#fff */
html body .domain-renewals,
html body .service-renewals,
html body .addon-renewals .service-renewal,
html body .domain-renewals .domain-renewal,
html body .service-renewals .service-renewal{
  background-color:var(--uhc-surface) !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-text);
}
html body .domain-renewals .domain-renewal:nth-child(even),
html body .service-renewals .service-renewal:nth-child(even){ background-color:#2A2B32 !important; }
html body .domain-renewals .domain-renewal h3,
html body .service-renewals .service-renewal h3{ color:var(--uhc-title) !important; }
/* TLDs em destaque e captcha padrao (#f9f9f9 / #888) */
html body .featured-tld{ background-color:var(--uhc-surface) !important; border-color:var(--uhc-border) !important; }
/* .price base (#f9f9f9/#555) — sem !important de proposito: as variantes
   coloridas por TLD (.price.com, .price.net...) tem especificidade maior e
   continuam com a cor delas */
html body .featured-tld .price{ background-color:var(--uhc-surface-2); color:var(--uhc-gold); }
html body #order-standard_cart .default-captcha{
  background-color:var(--uhc-surface) !important;
  border-color:var(--uhc-border) !important;
  color:var(--uhc-muted) !important;
}
/* checkout: contas existentes (rotulos #666 sobre o cartao escuro) */
html body #order-standard_cart .account-select-container div.account,
html body #order-standard_cart .account-select-container div.account label,
html body #order-standard_cart .account-select-container div.account .address{ color:var(--uhc-text) !important; }
html body #order-standard_cart .account-select-container div.account strong{ color:var(--uhc-title) !important; }
/* MarketConnect na pagina de pedido concluido: botoes com texto ilegivel */
html body .cta > .btn{ background-color:var(--uhc-gold) !important; border-color:var(--uhc-gold) !important; color:var(--uhc-on-gold) !important; }
html body .cta > .btn .text,
html body .cta > .btn .arrow{ color:var(--uhc-on-gold) !important; }

/* ---------- 7. fatura (viewinvoice) e nota de cobranca ---------- */
/* status no topo: #cc0000 (2,5:1), #224488 (1,6:1), #779500, #888 */
body .invoice-container .invoice-status .unpaid{ color:#F87171 !important; }
body .invoice-container .invoice-status .paid{ color:#4ADE80 !important; }
body .invoice-container .invoice-status .refunded{ color:#7DD3FC !important; }
body .invoice-container .invoice-status .draft,
body .invoice-container .invoice-status .cancelled{ color:#B9BAC2 !important; }
body .invoice-container .invoice-status .collections{ color:#FBBF24 !important; }
/* faixa "bg-info" com texto branco (3:1) */
body .invoice-container .card-title.bg-info{ background-color:#155E75 !important; color:#FFFFFF !important; }
/* tabela de itens: invoice.css pinta .table{color:#212529} */
body .invoice-container .table,
body .invoice-container .table td,
body .invoice-container .table th{ color:var(--uhc-text); border-color:var(--uhc-border) !important; }
body .invoice-container .table thead th,
body .invoice-container .table thead td{ color:var(--uhc-title); }
/* logo da fatura: LogoURL e o wordmark ESCURO (usado tambem no PDF, que e
   branco). Na tela a fatura e escura, entao o tema mostra o logo branco
   e esconde o escuro; na impressao, o contrario (ver viewinvoice.tpl). */
body .invoice-container .uhc-logo-print{ display:none; }

/* ---------- 8. impressao da fatura/orcamento ---------- */
/* o navegador nao imprime fundo: sem isto o texto #D3D3D3 sairia quase
   invisivel no papel branco */
@media print{
  html, body{ background:#FFFFFF !important; }
  body .invoice-container,
  body .invoice-container *{
    background:transparent !important;
    color:#111111 !important;
    border-color:#CCCCCC !important;
    box-shadow:none !important;
  }
  body .invoice-container .uhc-logo-screen{ display:none !important; }
  body .invoice-container .uhc-logo-print{ display:inline-block !important; }
  body .invoice-container .invoice-status span{ color:#111111 !important; }
}


/* ============================================================
   BLOCO "-u7" — 2026-10-01 — achado AO VIVO na area logada
   (o banco de testes local nao monta o editor, que e criado por JS)
   ============================================================ */
/* editor de mensagem do chamado (Abrir chamado / Responder): o theme.min.css tem
   .md-editor > textarea.markdown-editor{background-color:#fff !important} (0,2,1),
   que vencia o -u3 (.md-editor > textarea = 0,1,1, tambem !important)
   -> caixa BRANCA com texto #D3D3D3: o cliente nao enxergava o que digitava */
body .md-editor > textarea.markdown-editor,
body .md-editor > textarea.markdown-editor:focus,
body .md-editor > .md-preview{
  background-color:var(--uhc-bg) !important;
  color:var(--uhc-text) !important;
}
/* rodape do editor (linhas/palavras/salvo): #959694 sobre #33343F = 4,15:1 */
body .markdown-editor-status,
body .markdown-editor-status .small-font,
body .markdown-editor-status .markdown-save{ color:#A3A4AD !important; }
/* botao do campo de anexo: o Bootstrap escreve "Browse" fixo no CSS */
body .custom-file-label::after{ content:"Procurar" !important; }
/* telefone com DDI (plugin intl-tel-input, "separate dial code") — relato do Henrique em 01/10:
   "o +55 fica por cima do numero digitado". O plugin reserva 84px para bandeira + "+55"
   (.iti-sdc-3), mas a regra de icone deste proprio arquivo
   .form-group:has(> .field-icon) .form-control{padding-left:48px !important} (0,3,0)
   empurrava o texto para 48px -> numero POR BAIXO do "+55". Valores do plugin + 6px de folga
   (a Poppins e mais larga que a fonte que o plugin presume). Especificidade 0,4,2 > 0,3,0. */
body .intl-tel-input.allow-dropdown input.form-control,
body .intl-tel-input.allow-dropdown input.field{ padding-left:58px !important; }
body .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input{ padding-left:82px !important; }
body .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input{ padding-left:90px !important; }
body .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input{ padding-left:98px !important; }
body .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input{ padding-left:106px !important; }
body .intl-tel-input.separate-dial-code.iti-sdc-2:not(.allow-dropdown) input{ padding-left:72px !important; }
body .intl-tel-input.separate-dial-code.iti-sdc-3:not(.allow-dropdown) input{ padding-left:80px !important; }
body .intl-tel-input.separate-dial-code.iti-sdc-4:not(.allow-dropdown) input{ padding-left:88px !important; }
body .intl-tel-input.separate-dial-code.iti-sdc-5:not(.allow-dropdown) input{ padding-left:96px !important; }


/* ============================================================
   BLOCO "-u8" — 2026-10-01
   Rodape: abaixo de 992px o tema zera o padding dos .nav-link e a lista flex
   nao tem espacamento -> "uhost.com.brEntre em ContatoSuporteTermos de Servico"
   colados. gap funciona em qualquer largura (no desktop soma com a margem do tema).
   ============================================================ */
body #footer ul.nav{ flex-wrap:wrap; gap:6px 20px; }


/* ============================================================
   BLOCO "-u9" — 2026-10-01
   Icones sociais do rodape (Instagram / WhatsApp, .btn-icon) saiam #212529 sobre o
   rodape #17181B (contraste 1,1:1 — "circulo vazio"), em TODAS as paginas. O scan de
   contraste de texto nao pegava icone; achado pelo scan de icones (WCAG 1.4.11, >=3:1).
   ============================================================ */
body #footer .btn-icon{ color:#D3D3D3; border-color:#4A4B56; background:transparent; }
body #footer .btn-icon:hover,
body #footer .btn-icon:focus{ color:#FAC643; border-color:#FAC643; }
