/* =====================================================
   Defensys WHMCS Theme - Custom Override
   Identidade visual: https://novo.defensystech.com.br
   Tema: Dark Cybersecurity
   ===================================================== */

/* ===================================================
   VARIÁVEIS GLOBAIS
   =================================================== */
:root {
  --primary: #1E6BFF;
  --secondary: #2AB5E3;
  --dark-bg: #060B1A;
  --dark-surface: #0B122A;
  --dark-elevated: #0e1836;
  --dark-muted: #1a2340;
  --dark-border: rgba(30, 107, 255, 0.15);
  --text-primary: #f0f4f8;
  --text-secondary: #c8d6ef;
  --text-muted: #8a9bbf;
  --text-subtle: #4a5e82;
  --glow-primary: rgba(30, 107, 255, 0.2);
  --glow-secondary: rgba(42, 181, 227, 0.1);
}

/* ===================================================
   BASE / BODY
   =================================================== */
body,
.primary-bg-color {
  background-color: #060B1A !important;
  background-image:
    radial-gradient(circle at 50% 0%, rgba(30, 107, 255, 0.12), transparent 40%),
    radial-gradient(circle at 0% 60%, rgba(42, 181, 227, 0.06), transparent 30%);
  background-attachment: fixed;
  color: #f0f4f8 !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
  color: #f0f4f8 !important;
}

a {
  color: #1E6BFF;
}
a:hover {
  color: #2AB5E3;
  text-decoration: none;
}

hr {
  border-top-color: rgba(30, 107, 255, 0.1) !important;
}

code {
  background-color: rgba(30, 107, 255, 0.08);
  color: #2AB5E3;
  padding: 0.1em 0.4em;
  border-radius: 3px;
}

pre {
  background-color: rgba(6, 11, 26, 0.9);
  border: 1px solid rgba(30, 107, 255, 0.15);
  color: #c8d6ef;
  padding: 1rem;
  border-radius: 0.5rem;
}

/* ===================================================
   HEADER
   =================================================== */
header.header {
  background-color: rgba(11, 18, 42, 0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(30, 107, 255, 0.15);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

/* Topbar (barra logado como...) */
header.header .topbar {
  background-color: #030712 !important;
  color: rgba(240, 244, 248, 0.7);
  border-bottom: 1px solid rgba(30, 107, 255, 0.08);
}
header.header .topbar .btn,
header.header .topbar .active-client .btn {
  color: rgba(240, 244, 248, 0.65) !important;
}
header.header .topbar .active-client .input-group-text {
  color: rgba(240, 244, 248, 0.55) !important;
}
header.header .topbar .active-client .btn.btn-active-client span {
  border-bottom: 1px dashed rgba(240, 244, 248, 0.4);
}

/* Links do navbar */
header.header .navbar a {
  color: #c8d6ef !important;
}
header.header .navbar a:hover {
  color: #1E6BFF !important;
  text-decoration: none;
}
header.header .navbar-nav a {
  font-size: 14px;
  font-weight: 500;
}

/* Toolbar (carrinho, menu hamburguer) */
header.header .toolbar .nav-link {
  border: 1px solid rgba(30, 107, 255, 0.25) !important;
  color: #c8d6ef !important;
  background-color: rgba(30, 107, 255, 0.06);
  border-radius: 0.4rem !important;
}
header.header .toolbar .nav-link:hover {
  color: #fff !important;
  border-color: rgba(30, 107, 255, 0.55) !important;
  background-color: rgba(30, 107, 255, 0.15);
}

/* Campo de busca */
header.header .search {
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  border-radius: 0.4rem !important;
  background-color: rgba(30, 107, 255, 0.04);
}
header.header .search .btn {
  color: #8a9bbf !important;
}
header.header .search .form-control {
  background-color: transparent !important;
  color: #f0f4f8 !important;
}
header.header .search:focus-within {
  border-color: rgba(30, 107, 255, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(30, 107, 255, 0.1);
}

/* Barra de navegação principal */
header.header .main-navbar-wrapper {
  background-color: rgba(6, 11, 26, 0.5);
  border-top: 1px solid rgba(30, 107, 255, 0.08);
}

/* Dropdown do header */
header.header .dropdown-menu {
  background-color: #0e1836 !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}
header.header .dropdown-item {
  color: #c8d6ef !important;
}
header.header .dropdown-item:hover,
header.header .dropdown-item:focus {
  background-color: rgba(30, 107, 255, 0.12) !important;
  color: #fff !important;
}
header.header .dropdown-item.active,
header.header .dropdown-item:active {
  background-color: rgba(30, 107, 255, 0.22) !important;
  color: #fff !important;
}

/* ===================================================
   BREADCRUMB
   =================================================== */
.master-breadcrumb {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-bottom: 1px solid rgba(30, 107, 255, 0.1);
}
.master-breadcrumb .breadcrumb {
  background-color: transparent !important;
}
.master-breadcrumb .breadcrumb-item a {
  color: #2AB5E3 !important;
}
.master-breadcrumb .breadcrumb-item.active {
  color: #8a9bbf !important;
}
.master-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #4a5e82;
}

/* ===================================================
   CONTEÚDO PRINCIPAL
   =================================================== */
#main-body {
  padding-top: 24px;
  padding-bottom: 48px;
}

/* ===================================================
   CARDS
   =================================================== */
.card,
.primary-content .card {
  background-color: rgba(11, 18, 42, 0.85) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(30, 107, 255, 0.15) !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  color: #f0f4f8;
}
.card:hover {
  border-color: rgba(30, 107, 255, 0.3) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 20px -8px rgba(30, 107, 255, 0.2);
}

.card-header {
  background-color: rgba(30, 107, 255, 0.07) !important;
  border-bottom: 1px solid rgba(30, 107, 255, 0.12) !important;
  color: #f0f4f8 !important;
}

.card-footer {
  background-color: rgba(6, 11, 26, 0.5) !important;
  border-top: 1px solid rgba(30, 107, 255, 0.1) !important;
}

.card-title,
.primary-content .card-title {
  color: #f0f4f8 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
}

.card-subtitle {
  color: #8a9bbf !important;
}

.card-text {
  color: #c8d6ef !important;
}

/* ===================================================
   SIDEBAR
   =================================================== */
.sidebar .card,
.card-sidebar {
  background-color: rgba(11, 18, 42, 0.9) !important;
  border: 1px solid rgba(30, 107, 255, 0.15) !important;
}

.sidebar .card-title {
  color: #f0f4f8 !important;
  font-family: 'Outfit', sans-serif !important;
}

.sidebar .list-group-item {
  background-color: transparent !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
  color: #c8d6ef !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.sidebar .list-group-item:hover {
  background-color: rgba(30, 107, 255, 0.08) !important;
  color: #fff !important;
}
.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover,
.sidebar .list-group-item.active:focus {
  background-color: rgba(30, 107, 255, 0.18) !important;
  border-color: rgba(30, 107, 255, 0.4) !important;
  color: #fff !important;
}
.sidebar .list-group-item .badge {
  background-color: rgba(30, 107, 255, 0.2);
  color: #7eaaff;
}

/* ===================================================
   FORMULÁRIOS
   =================================================== */
.form-control {
  background-color: rgba(6, 11, 26, 0.8) !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  color: #f0f4f8 !important;
  border-radius: 0.4rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-control:focus {
  background-color: rgba(6, 11, 26, 0.95) !important;
  border-color: #1E6BFF !important;
  box-shadow: 0 0 0 3px rgba(30, 107, 255, 0.15) !important;
  color: #f0f4f8 !important;
}
.form-control::placeholder {
  color: #8a9bbf !important;
}
.form-control:disabled,
.form-control[readonly] {
  background-color: rgba(30, 107, 255, 0.04) !important;
  color: #8a9bbf !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
}

.input-group-text {
  background-color: rgba(30, 107, 255, 0.08) !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  color: #8a9bbf !important;
}

select.form-control option {
  background-color: #0e1836;
  color: #f0f4f8;
}

label,
.control-label {
  color: #c8d6ef !important;
  font-weight: 500;
}

.custom-select {
  background-color: rgba(6, 11, 26, 0.8) !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  color: #f0f4f8 !important;
}
.custom-select:focus {
  border-color: #1E6BFF !important;
  box-shadow: 0 0 0 3px rgba(30, 107, 255, 0.15) !important;
}

/* Checkbox e radio */
.custom-control-label::before {
  background-color: rgba(6, 11, 26, 0.8) !important;
  border-color: rgba(30, 107, 255, 0.3) !important;
}
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #1E6BFF !important;
  border-color: #1E6BFF !important;
}

/* ===================================================
   BOTÕES
   =================================================== */
.btn-primary {
  background-color: #1E6BFF !important;
  border-color: #1E6BFF !important;
  color: #fff !important;
  font-weight: 500;
}
.btn-primary:hover {
  background-color: #1558d6 !important;
  border-color: #1558d6 !important;
  box-shadow: 0 4px 16px rgba(30, 107, 255, 0.35) !important;
}
.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 3px rgba(30, 107, 255, 0.35) !important;
}
.btn-primary:not(:disabled):not(.disabled):active {
  background-color: #1045b0 !important;
  border-color: #1045b0 !important;
}

.btn-default,
.btn-secondary {
  background-color: rgba(30, 107, 255, 0.07) !important;
  border: 1px solid rgba(30, 107, 255, 0.25) !important;
  color: #c8d6ef !important;
}
.btn-default:hover,
.btn-secondary:hover {
  background-color: rgba(30, 107, 255, 0.15) !important;
  border-color: rgba(30, 107, 255, 0.5) !important;
  color: #fff !important;
}

.btn-success {
  background-color: #0a9c5a !important;
  border-color: #0a9c5a !important;
  color: #fff !important;
}
.btn-success:hover {
  background-color: #07854c !important;
  border-color: #07854c !important;
}

.btn-danger {
  background-color: #c0392b !important;
  border-color: #c0392b !important;
  color: #fff !important;
}
.btn-danger:hover {
  background-color: #a22e23 !important;
  border-color: #a22e23 !important;
}

.btn-warning {
  background-color: #d4810a !important;
  border-color: #d4810a !important;
  color: #fff !important;
}
.btn-warning:hover {
  background-color: #b06c08 !important;
  border-color: #b06c08 !important;
}

.btn-info {
  background-color: #2AB5E3 !important;
  border-color: #2AB5E3 !important;
  color: #060B1A !important;
  font-weight: 500;
}
.btn-info:hover {
  background-color: #1e9ec9 !important;
  border-color: #1e9ec9 !important;
}

.btn-link {
  color: #1E6BFF !important;
}
.btn-link:hover {
  color: #2AB5E3 !important;
}

/* ===================================================
   TABELAS
   =================================================== */
.table {
  color: #c8d6ef !important;
}
.table thead th {
  border-bottom: 2px solid rgba(30, 107, 255, 0.2) !important;
  color: #f0f4f8 !important;
  background-color: rgba(30, 107, 255, 0.07) !important;
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}
.table td,
.table th {
  border-top: 1px solid rgba(30, 107, 255, 0.07) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(30, 107, 255, 0.03) !important;
}
.table-hover tbody tr:hover {
  background-color: rgba(30, 107, 255, 0.08) !important;
  color: #fff !important;
}
.table-bordered {
  border-color: rgba(30, 107, 255, 0.1) !important;
}
.table-bordered td,
.table-bordered th {
  border-color: rgba(30, 107, 255, 0.1) !important;
}

/* ===================================================
   BADGES
   =================================================== */
.badge-primary { background-color: #1E6BFF !important; }
.badge-secondary { background-color: #1a2340 !important; color: #c8d6ef !important; }
.badge-info { background-color: #2AB5E3 !important; color: #060B1A !important; }
.badge-success { background-color: #0a9c5a !important; }
.badge-danger { background-color: #c0392b !important; }
.badge-warning { background-color: #d4810a !important; color: #fff !important; }
.badge-light { background-color: #1a2340 !important; color: #c8d6ef !important; }
.badge-dark { background-color: #030712 !important; }

/* ===================================================
   ALERTAS
   =================================================== */
.alert {
  border-radius: 0.5rem !important;
  border: 1px solid;
}
.alert-primary {
  background-color: rgba(30, 107, 255, 0.1) !important;
  border-color: rgba(30, 107, 255, 0.3) !important;
  color: #7eaaff !important;
}
.alert-success {
  background-color: rgba(10, 156, 90, 0.1) !important;
  border-color: rgba(10, 156, 90, 0.3) !important;
  color: #4ecb91 !important;
}
.alert-danger {
  background-color: rgba(192, 57, 43, 0.1) !important;
  border-color: rgba(192, 57, 43, 0.3) !important;
  color: #e87c74 !important;
}
.alert-warning {
  background-color: rgba(212, 129, 10, 0.1) !important;
  border-color: rgba(212, 129, 10, 0.3) !important;
  color: #f0b04a !important;
}
.alert-info {
  background-color: rgba(42, 181, 227, 0.1) !important;
  border-color: rgba(42, 181, 227, 0.3) !important;
  color: #76d0f0 !important;
}

/* ===================================================
   FOOTER
   =================================================== */
footer.footer {
  background-color: #030712 !important;
  color: #8a9bbf !important;
  border-top: 1px solid rgba(30, 107, 255, 0.15);
}
footer.footer .nav-link {
  color: #8a9bbf !important;
  transition: color 0.2s;
}
footer.footer .nav-link:hover {
  color: #1E6BFF !important;
}
footer.footer .btn {
  background-color: rgba(30, 107, 255, 0.08) !important;
  color: #c8d6ef !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
}
footer.footer .btn:hover {
  background-color: rgba(30, 107, 255, 0.18) !important;
}
footer.footer .copyright {
  color: #4a5e82 !important;
}

/* ===================================================
   MODAIS
   =================================================== */
.modal-content {
  background-color: #0e1836 !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  box-shadow: 0 16px 64px rgba(0, 0, 0, 0.55);
}
.modal-header {
  border-bottom: 1px solid rgba(30, 107, 255, 0.12) !important;
  background-color: rgba(30, 107, 255, 0.05);
}
.modal-footer {
  border-top: 1px solid rgba(30, 107, 255, 0.12) !important;
}
.modal-title {
  color: #f0f4f8 !important;
  font-family: 'Outfit', sans-serif !important;
}
.close {
  color: #8a9bbf !important;
  text-shadow: none !important;
  opacity: 0.8 !important;
}
.close:hover {
  color: #f0f4f8 !important;
}

/* Modal localização / idioma */
.modal-localisation .modal-content {
  background-color: #060B1A !important;
}
.modal-localisation .item {
  color: #c8d6ef !important;
  border: 1px solid rgba(30, 107, 255, 0.15) !important;
  border-radius: 0.4rem;
  padding: 0.5rem;
  display: block;
  text-align: center;
  transition: all 0.2s;
}
.modal-localisation .item:hover {
  background-color: rgba(30, 107, 255, 0.1) !important;
  border-color: rgba(30, 107, 255, 0.4) !important;
  color: #fff !important;
  text-decoration: none;
}
.modal-localisation .item.active {
  background-color: rgba(30, 107, 255, 0.2) !important;
  border-color: #1E6BFF !important;
  color: #fff !important;
}

/* ===================================================
   LIST GROUPS
   =================================================== */
.list-group-item {
  background-color: transparent !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
  color: #c8d6ef !important;
}
.list-group-item.active {
  background-color: rgba(30, 107, 255, 0.18) !important;
  border-color: rgba(30, 107, 255, 0.35) !important;
  color: #fff !important;
}
.list-group-item:hover {
  background-color: rgba(30, 107, 255, 0.07) !important;
  color: #fff !important;
}

/* ===================================================
   PAGINAÇÃO
   =================================================== */
.page-item .page-link {
  background-color: rgba(11, 18, 42, 0.8) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #c8d6ef !important;
}
.page-item .page-link:hover {
  background-color: rgba(30, 107, 255, 0.15) !important;
  color: #fff !important;
}
.page-item.active .page-link {
  background-color: #1E6BFF !important;
  border-color: #1E6BFF !important;
  color: #fff !important;
}
.page-item.disabled .page-link {
  background-color: rgba(6, 11, 26, 0.5) !important;
  color: #4a5e82 !important;
}

/* ===================================================
   ABAS (NAV TABS)
   =================================================== */
.nav-tabs {
  border-bottom: 1px solid rgba(30, 107, 255, 0.15) !important;
}
.nav-tabs .nav-link {
  color: #8a9bbf !important;
  border-color: transparent !important;
  background-color: transparent !important;
  transition: color 0.2s, background-color 0.2s;
}
.nav-tabs .nav-link:hover {
  color: #f0f4f8 !important;
  border-color: rgba(30, 107, 255, 0.2) rgba(30, 107, 255, 0.2) transparent !important;
  background-color: rgba(30, 107, 255, 0.05) !important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #1E6BFF !important;
  background-color: rgba(11, 18, 42, 0.9) !important;
  border-color: rgba(30, 107, 255, 0.3) rgba(30, 107, 255, 0.3) transparent !important;
}

/* ===================================================
   DROPDOWNS
   =================================================== */
.dropdown-menu {
  background-color: #0e1836 !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.dropdown-item {
  color: #c8d6ef !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: rgba(30, 107, 255, 0.1) !important;
  color: #fff !important;
}
.dropdown-divider {
  border-top-color: rgba(30, 107, 255, 0.1) !important;
}
.dropdown-header {
  color: #8a9bbf !important;
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ===================================================
   POPOVER
   =================================================== */
.popover {
  background-color: #0e1836 !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.popover-header {
  background-color: rgba(30, 107, 255, 0.07) !important;
  border-bottom: 1px solid rgba(30, 107, 255, 0.12) !important;
  color: #f0f4f8 !important;
}
.popover-body {
  color: #c8d6ef !important;
}
.bs-popover-bottom .arrow::after,
.bs-popover-auto[x-placement^=bottom] .arrow::after {
  border-bottom-color: #0e1836 !important;
}

/* ===================================================
   UTILITÁRIOS GERAIS
   =================================================== */
.text-muted {
  color: #8a9bbf !important;
}
.text-dark {
  color: #c8d6ef !important;
}
.text-body {
  color: #f0f4f8 !important;
}
.border {
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.border-top { border-top-color: rgba(30, 107, 255, 0.12) !important; }
.border-bottom { border-bottom-color: rgba(30, 107, 255, 0.12) !important; }
.border-left { border-left-color: rgba(30, 107, 255, 0.12) !important; }
.border-right { border-right-color: rgba(30, 107, 255, 0.12) !important; }

.bg-light {
  background-color: #0B122A !important;
}
.bg-white {
  background-color: #0B122A !important;
  color: #f0f4f8 !important;
}
.bg-dark {
  background-color: #030712 !important;
}

/* ===================================================
   OVERLAY (loading fullscreen)
   =================================================== */
#fullpage-overlay {
  background-color: rgba(6, 11, 26, 0.92) !important;
}

/* ===================================================
   SCROLLBAR (Webkit)
   =================================================== */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #060B1A;
}
::-webkit-scrollbar-thumb {
  background: rgba(30, 107, 255, 0.3);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(30, 107, 255, 0.5);
}

/* ===================================================
   HOMEPAGE - ACTION ICON BUTTONS
   =================================================== */
.action-icon-btns a {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border: 1px solid rgba(30, 107, 255, 0.15) !important;
  border-radius: 0.6rem !important;
  color: #c8d6ef !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.3s ease !important;
}
.action-icon-btns a .ico-container i {
  color: #8a9bbf !important;
}
.action-icon-btns a:hover {
  background-color: rgba(30, 107, 255, 0.1) !important;
  border-color: rgba(30, 107, 255, 0.35) !important;
  color: #fff !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 20px -8px rgba(30, 107, 255, 0.2) !important;
}
.action-icon-btns a:hover .ico-container i {
  color: #1E6BFF !important;
}

/* ===================================================
   DASHBOARD - CLIENT HOME CARDS / TILES
   =================================================== */
.client-home-cards .card-header {
  background-color: rgba(30, 107, 255, 0.07) !important;
  border-bottom-color: rgba(30, 107, 255, 0.12) !important;
  color: #f0f4f8 !important;
}
.tiles .tile {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-right-color: rgba(30, 107, 255, 0.15) !important;
  color: #f0f4f8 !important;
}
.tiles .tile .title {
  color: #8a9bbf !important;
}
.tiles .tile i {
  color: rgba(30, 107, 255, 0.25) !important;
}
.tiles .tile:hover {
  background-color: rgba(30, 107, 255, 0.08) !important;
}
.tiles .tile:hover i {
  color: rgba(30, 107, 255, 0.5) !important;
}

/* ===================================================
   STORE / LOJA - Landing Page (cobertura total)
   =================================================== */
.landing-page {
  color: #f0f4f8 !important;
}
.landing-page h1,
.landing-page h2,
.landing-page h3,
.landing-page h4,
.landing-page h5,
.landing-page h6 {
  color: #f0f4f8 !important;
}
.landing-page p,
.landing-page span,
.landing-page li {
  color: #c8d6ef !important;
}
.landing-page .hero,
.landing-page .light-grey-bg,
.landing-page .features,
.landing-page .content-block,
.landing-page .get-started,
.landing-page .faq,
.landing-page section {
  background-color: rgba(11, 18, 42, 0.85) !important;
  color: #f0f4f8 !important;
}
.landing-page .product-options .item {
  background-color: rgba(11, 18, 42, 0.9) !important;
  border: 1px solid rgba(30, 107, 255, 0.15) !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
  color: #f0f4f8 !important;
}
.landing-page .product-options .item:hover {
  border-color: rgba(30, 107, 255, 0.35) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 20px -8px rgba(30, 107, 255, 0.2) !important;
}
.landing-page .product-options h4 {
  color: #f0f4f8 !important;
}
.landing-page .product-options .price {
  color: #2AB5E3 !important;
}
.landing-page .product-options p {
  color: #c8d6ef !important;
}
.landing-page .product-options .icon {
  color: #8a9bbf !important;
}
.landing-page .product-options .item .btn {
  background-color: #1E6BFF !important;
  border-color: #1E6BFF !important;
  color: #fff !important;
}
.landing-page .product-options .item .btn:hover {
  background-color: #1558d6 !important;
  border-color: #1558d6 !important;
}
.landing-page .tab-content {
  background-color: #0e1836 !important;
  border: 1px solid rgba(30, 107, 255, 0.15) !important;
}
.landing-page .nav-tabs > li > a,
.landing-page .nav-tabs > li > a:focus {
  background-color: #1a2340 !important;
  color: #c8d6ef !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.landing-page .nav-tabs > li > a:hover {
  background-color: rgba(30, 107, 255, 0.08) !important;
  color: #f0f4f8 !important;
}
.landing-page .nav-tabs > li.active > a,
.landing-page .nav-tabs > li.active > a:focus,
.landing-page .nav-tabs > li.active > a:hover {
  background-color: #0e1836 !important;
  color: #1E6BFF !important;
  border-top-color: #1E6BFF !important;
  border-left-color: rgba(30, 107, 255, 0.2) !important;
  border-right-color: rgba(30, 107, 255, 0.2) !important;
}
.landing-page .navbar .navbar-nav > li.active > a {
  background-color: #0e1836 !important;
  color: #1E6BFF !important;
}
.landing-page .navbar-nav > li > a {
  color: #c8d6ef !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.landing-page .pricing-item {
  background-color: rgba(11, 18, 42, 0.9) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #f0f4f8 !important;
}
.landing-page .pricing-item .header {
  background-color: rgba(30, 107, 255, 0.1) !important;
  color: #f0f4f8 !important;
}
.landing-page .pricing-item ul li {
  background-color: transparent !important;
  border-color: rgba(30, 107, 255, 0.08) !important;
  color: #c8d6ef !important;
}

/* Store order - tab de domínio */
.store-order-container .store-domain-tabs li a {
  background-color: #1a2340 !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #c8d6ef !important;
}
.store-order-container .store-domain-tabs li.active a {
  background-color: #0e1836 !important;
  border-bottom-color: transparent !important;
  color: #f0f4f8 !important;
}
.store-order-container .store-domain-tab-content {
  border-color: rgba(30, 107, 255, 0.2) !important;
  background-color: #0e1836 !important;
  color: #f0f4f8 !important;
}

/* ===================================================
   TABELAS DE DADOS (table-list, DataTables)
   =================================================== */
table.table-list thead th {
  background-color: rgba(30, 107, 255, 0.07) !important;
  color: #f0f4f8 !important;
  border-bottom-color: rgba(30, 107, 255, 0.2) !important;
}
.table .thead-light th {
  background-color: rgba(30, 107, 255, 0.07) !important;
  color: #f0f4f8 !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.table-list > tbody > tr > td {
  background-color: transparent !important;
  color: #c8d6ef !important;
  border-color: rgba(30, 107, 255, 0.07) !important;
}
.table-list > tbody > tr:hover > td {
  background-color: rgba(30, 107, 255, 0.06) !important;
  color: #fff !important;
}
.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc {
  background-color: rgba(30, 107, 255, 0.12) !important;
  color: #f0f4f8 !important;
}
.invoice-summary-table td.total-row {
  background-color: rgba(30, 107, 255, 0.1) !important;
  color: #f0f4f8 !important;
}
tr.masspay-total td {
  background-color: rgba(30, 107, 255, 0.1) !important;
  color: #f0f4f8 !important;
}

/* ===================================================
   TICKETS / SUPORTE
   =================================================== */
.view-ticket .posted-by {
  background-color: rgba(30, 107, 255, 0.05) !important;
  border-color: rgba(30, 107, 255, 0.12) !important;
  color: #c8d6ef !important;
}
.view-ticket .attachment-list li figure {
  background-color: rgba(11, 18, 42, 0.9) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #8a9bbf !important;
}
.ticketfeedbackstaffcont {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}

/* ===================================================
   PRODUTOS / UPGRADE / PRICING / DOMÍNIOS
   =================================================== */
.upgrade .product-to-be-upgraded,
.upgrade .products .product {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
.product-details div.product-icon {
  background-color: rgba(30, 107, 255, 0.08) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
div.product-details-tab-container {
  background-color: #0e1836 !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.promo-container,
.promo-banner {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
.featured-tld {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
.featured-tld .price {
  background-color: rgba(30, 107, 255, 0.06) !important;
  color: #2AB5E3 !important;
}
div.credit-card {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
.domain-pricing .tld-pricing-header div:nth-child(odd) {
  background-color: rgba(30, 107, 255, 0.04) !important;
}

/* ===================================================
   KNOWLEDGE BASE / ANÚNCIOS
   =================================================== */
.announcements .announcement article {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.12) !important;
  color: #c8d6ef !important;
}
.kb-category a:hover,
.kb-article-item:hover {
  background-color: rgba(30, 107, 255, 0.07) !important;
  color: #fff !important;
}

/* ===================================================
   MARKDOWN EDITOR
   =================================================== */
.md-editor > .btn-toolbar {
  background-color: rgba(30, 107, 255, 0.07) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.md-editor > .md-preview {
  background-color: #0e1836 !important;
  color: #c8d6ef !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
.md-preview table,
.markdown-content table {
  background-color: transparent !important;
  color: #c8d6ef !important;
}
.md-preview table > thead > tr > th,
.markdown-content table > thead > tr > th {
  background-color: rgba(30, 107, 255, 0.07) !important;
  color: #f0f4f8 !important;
  border-color: rgba(30, 107, 255, 0.12) !important;
}

/* ===================================================
   FORMULÁRIOS - estados especiais
   =================================================== */
.custom-file-label {
  background-color: rgba(6, 11, 26, 0.8) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #f0f4f8 !important;
}
.custom-file-label::after {
  background-color: rgba(30, 107, 255, 0.1) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #c8d6ef !important;
}
.custom-file-input[disabled] ~ .custom-file-label,
.custom-file-input:disabled ~ .custom-file-label,
.custom-select:disabled,
.custom-control-input[disabled] ~ .custom-control-label::before,
.custom-control-input:disabled ~ .custom-control-label::before {
  background-color: rgba(30, 107, 255, 0.04) !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
  color: #4a5e82 !important;
}
.home-domain-search .input-group-wrapper {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
}
.input-group .btn-reveal-pw:hover,
.input-group .btn-reveal-pw:active {
  background-color: rgba(30, 107, 255, 0.12) !important;
  color: #f0f4f8 !important;
}
.select-account a:hover {
  background-color: rgba(30, 107, 255, 0.08) !important;
  color: #fff !important;
}
form[data-role=json-form] .has-error select.form-control {
  background-color: rgba(192, 57, 43, 0.1) !important;
  border-color: rgba(192, 57, 43, 0.4) !important;
}
#registration .form-control[readonly] {
  background-color: rgba(30, 107, 255, 0.04) !important;
  color: #8a9bbf !important;
}

/* ===================================================
   TABS RESPONSIVAS / ABAS DE PRODUTO
   =================================================== */
.responsive-tabs-sm .nav-item a.active {
  background-color: #0e1836 !important;
  color: #1E6BFF !important;
  border-color: rgba(30, 107, 255, 0.3) !important;
}

/* ===================================================
   NOTIFICAÇÕES / BANNER / 2FA / MISC
   =================================================== */
.verification-banner {
  background-color: rgba(30, 107, 255, 0.08) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #c8d6ef !important;
}
.twofa-setup .backup-code {
  background-color: rgba(11, 18, 42, 0.9) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #2AB5E3 !important;
}
.popover-user-notifications ul li a:hover {
  background-color: rgba(30, 107, 255, 0.08) !important;
  color: #fff !important;
}
.continue-container,
.invite-box {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
#registration .sub-heading span {
  background-color: #060B1A !important;
  color: #c8d6ef !important;
}

/* ===================================================
   STORE — CARDS DE PRODUTOS E GRUPOS (FORÇA TEMA ESCURO)
   =================================================== */

/* Cards de grupos de produtos (Hosting Services, Cyber Security, etc.) */
.card {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
.card .card-body {
  background-color: transparent !important;
  color: #c8d6ef !important;
}
.card .card-title,
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6 {
  color: #f0f4f8 !important;
}
.card .card-footer {
  background-color: rgba(11, 18, 42, 0.6) !important;
  border-top-color: rgba(30, 107, 255, 0.15) !important;
}
.card .card-header {
  background-color: rgba(11, 18, 42, 0.9) !important;
  border-bottom-color: rgba(30, 107, 255, 0.15) !important;
}

/* Override Bootstrap .bg-white */
.bg-white {
  background-color: rgba(11, 18, 42, 0.9) !important;
}

/* Produto cards na loja (landing page) — força com !important */
.landing-page .product-options .item {
  background-color: #0B122A !important;
  border: 1px solid rgba(30, 107, 255, 0.2) !important;
  border-radius: 8px !important;
  color: #f0f4f8 !important;
}
.landing-page .product-options h4 {
  color: #f0f4f8 !important;
}
.landing-page .product-options .icon {
  color: #8a9bbf !important;
}
.landing-page .product-options span {
  color: #c8d6ef !important;
}
.landing-page .product-options p {
  color: #c8d6ef !important;
}
.landing-page .product-options .price {
  color: #2AB5E3 !important;
}
.landing-page .product-options .item .btn {
  background-color: #1E6BFF !important;
  border-color: #1E6BFF !important;
  color: #fff !important;
}

/* Tab content da loja (domain tabs em order.tpl) */
.store-domain-tab-content {
  background-color: rgba(11, 18, 42, 0.85) !important;
  color: #c8d6ef !important;
}

/* Upsell card na loja */
.store-promoted-product {
  background-color: rgba(11, 18, 42, 0.9) !important;
  color: #c8d6ef !important;
}

/* ===================================================
   STORE — CARDS DE PRODUTO (all.min.css override)
   Seletor exato identificado via DevTools
   =================================================== */
#order-standard_cart .products .product {
  background: #0B122A !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  border-radius: 8px !important;
  color: #f0f4f8 !important;
}
#order-standard_cart .products .product .product-desc,
#order-standard_cart .products .product p,
#order-standard_cart .products .product li,
#order-standard_cart .products .product strong {
  color: #c8d6ef !important;
}
#order-standard_cart .products .product .product-pricing,
#order-standard_cart .products .product .price {
  color: #2AB5E3 !important;
}
#order-standard_cart .products .product header {
  background: rgba(11, 18, 42, 0.9) !important;
  border-bottom-color: rgba(30, 107, 255, 0.2) !important;
}
#order-standard_cart .products .product header h2,
#order-standard_cart .products .product header h3 {
  color: #f0f4f8 !important;
}
#order-standard_cart .products .product footer {
  background: rgba(11, 18, 42, 0.7) !important;
  border-top-color: rgba(30, 107, 255, 0.2) !important;
}
/* Nome do produto — garante texto claro em qualquer tag */
#order-standard_cart .products .product header,
#order-standard_cart .products .product header *,
#order-standard_cart .products .product .product-name,
#order-standard_cart .products .product h1,
#order-standard_cart .products .product h2,
#order-standard_cart .products .product h3,
#order-standard_cart .products .product h4,
#order-standard_cart .products .product h5,
#order-standard_cart .products .product a {
  color: #f0f4f8 !important;
}

/* ===================================================
   CARRINHO — Resumo do Pedido e áreas brancas
   =================================================== */
#cart-totals,
.order-summary,
.cart-summary,
#order-summary,
.cart-container,
#cart-body,
.cart-body {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #c8d6ef !important;
}
#cart-totals *,
.order-summary *,
.cart-summary *,
#order-summary * {
  color: #c8d6ef !important;
}
/* Tabela do carrinho */
#order-standard_cart table,
#order-standard_cart .cart-items {
  background-color: transparent !important;
}
#order-standard_cart table th {
  background-color: rgba(30, 107, 255, 0.2) !important;
  color: #f0f4f8 !important;
}
#order-standard_cart table td {
  background-color: transparent !important;
  color: #c8d6ef !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
}
/* Promo code area */
#order-standard_cart .promo-code,
#order-standard_cart .promocode {
  background-color: rgba(11, 18, 42, 0.85) !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
}
/* Tab content do carrinho (código promocional) */
#order-standard_cart .view-cart-tabs .tab-content {
  background-color: #0B122A !important;
  color: #c8d6ef !important;
}
/* Resumo do Pedido */
#order-standard_cart .summary-container {
  background-color: #0B122A !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
  color: #c8d6ef !important;
}
#order-standard_cart .summary-container * {
  color: #c8d6ef !important;
}
#order-standard_cart .summary-container .amt,
#order-standard_cart .summary-container .total-due-today span {
  color: #2AB5E3 !important;
}
/* Itens do carrinho (linha branca da tabela) */
#order-standard_cart .view-cart-items .item {
  background-color: #0B122A !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
  color: #c8d6ef !important;
}
#order-standard_cart .view-cart-items .item .item-title,
#order-standard_cart .view-cart-items .item span,
#order-standard_cart .view-cart-items .item a {
  color: #f0f4f8 !important;
}
#order-standard_cart .view-cart-items .item .item-price span {
  color: #2AB5E3 !important;
}
/* Header da tabela de itens */
#order-standard_cart .view-cart-items-header {
  background-color: rgba(30, 107, 255, 0.2) !important;
  color: #f0f4f8 !important;
}
#order-standard_cart .view-cart-items-header * {
  color: #f0f4f8 !important;
}

/* ===================================================
   CHECKOUT - COMPONENTES AINDA COM TEMA PADRAO WHMCS
   Refinamento 27/07/2026: cards de conta, painel de cartao
   de credito, textos de ajuda/erro e divisores no checkout
   ainda usavam fundo claro/cinza herdado do standard_cart
   original. Regras abaixo so ajustam cor/fundo/borda destes
   componentes - nenhum HTML, hook ou logica foi alterado.
   =================================================== */

/* Cards de selecao de conta (cliente existente / nova conta) */
#order-standard_cart .account-select-container {
  border-right-color: rgba(30, 107, 255, 0.15) !important;
}
#order-standard_cart .account-select-container div.account {
  background-color: #0e1836 !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
  color: #c8d6ef !important;
}
#order-standard_cart .account-select-container div.account.active {
  background-color: rgba(30, 107, 255, 0.12) !important;
  border-color: #1E6BFF !important;
  color: #f0f4f8 !important;
}

/* Painel de dados de cartao de credito */
#order-standard_cart .cc-input-container {
  background-color: #0e1836 !important;
  border-color: rgba(30, 107, 255, 0.15) !important;
}
#order-standard_cart .cc-input-container .existing-cc-grid {
  color: #c8d6ef !important;
}

/* Divisores de secao (sub-heading) */
#order-standard_cart .sub-heading,
#order-standard_cart .sub-heading-borderless {
  border-top-color: rgba(30, 107, 255, 0.15) !important;
}

/* Textos de ajuda e mensagens de erro dos campos */
#order-standard_cart .field-help-text {
  color: #8a9bbf !important;
}
#order-standard_cart .field-error-msg {
  color: #e87c74 !important;
}

/* Textarea (campos personalizados) - reforco explicito alem do .form-control generico */
#order-standard_cart textarea.form-control,
#order-standard_cart textarea.field {
  background-color: rgba(6, 11, 26, 0.8) !important;
  color: #f0f4f8 !important;
  border-color: rgba(30, 107, 255, 0.2) !important;
}

/* Radio e checkbox nativos - acompanhar cor de destaque do tema */
#order-standard_cart input[type="radio"],
#order-standard_cart input[type="checkbox"] {
  accent-color: #1E6BFF;
}

/* Campos desabilitados/readonly que usam so a classe .field (sem .form-control) */
#order-standard_cart .field[disabled],
#order-standard_cart .field[readonly] {
  background-color: rgba(30, 107, 255, 0.04) !important;
  color: #8a9bbf !important;
  border-color: rgba(30, 107, 255, 0.1) !important;
}

/* ===================================================
   CHECKOUT - CORRECAO DE ESPECIFICIDADE (27/07/2026)
   O standard_cart original nao usa !important em nenhuma
   regra (auditado o arquivo inteiro). Os seletores abaixo
   repetem a classe do proprio standard_cart para ganhar
   especificidade real e vencer a cascata sem !important -
   mesma tecnica usada em ".product-info.product-info" etc.
   Cobre: caixa do nome do produto, painel de credito da
   conta (resumo), aviso de credito disponivel, codigo
   promocional aplicado, aba ativa de cupom/imposto,
   checkout expresso e captcha.
   =================================================== */

/* Caixa com o nome do produto no topo do configurador
   Original: #order-standard_cart .product-info (especificidade 1 id + 1 classe) */
#order-standard_cart .product-info.product-info {
  background-color: #0e1836;
  border-top-color: rgba(30, 107, 255, 0.15);
  border-bottom-color: rgba(30, 107, 255, 0.15);
}

/* Wrapper externo do resumo do pedido (o .summary-container interno ja estava coberto) */
#order-standard_cart .order-summary.order-summary {
  background-color: #0B122A;
  border-bottom-color: rgba(30, 107, 255, 0.2);
}

/* Painel "usar credito disponivel" no checkout */
#order-standard_cart .apply-credit-container.apply-credit-container {
  background-color: #0e1836;
}

/* Codigo promocional ja aplicado (classe real e .view-cart-promotion-code,
   diferente de .promo-code/.promocode que ja estavam cobertos) */
#order-standard_cart .view-cart-promotion-code.view-cart-promotion-code {
  background-color: #0B122A;
  border-color: rgba(30, 107, 255, 0.25);
}

/* Aba ativa das abas de cupom/estimativa de imposto */
#order-standard_cart .view-cart-tabs.view-cart-tabs .nav-tabs a[aria-expanded="true"] {
  background-color: rgba(30, 107, 255, 0.15);
}

/* Wrapper dos botoes de checkout expresso (Apple Pay/Google Pay etc.) */
#order-standard_cart .view-cart-gateway-checkout.view-cart-gateway-checkout {
  background-color: #0e1836;
}

/* Painel do captcha padrao (exibido no checkout para visitantes deslogados) */
#order-standard_cart .default-captcha.default-captcha {
  background-color: #0e1836;
  border-color: rgba(30, 107, 255, 0.2);
  color: #c8d6ef;
}
