/**
 * VittHost Dark — CSS override para o template twenty-one (versao DARK).
 * Preserva 100% do markup Smarty original. So aplica cores dark + gold accents.
 * Palette: fundos navy #0a0e1a / #0d1120, accents gold #f5b800 -> #fcd34d.
 */

:root {
    --vitt-brand:     #f5b800;
    --vitt-brand-lt:  #fcd34d;
    --vitt-brand-dk:  #d4a000;
    --vitt-bg:        #0a0e1a;
    --vitt-bg-2:      #0d1120;
    --vitt-bg-3:      #12172a;
    --vitt-text:      #e2e8f0;
    --vitt-text-2:    #cbd5e1;
    --vitt-muted:     #94a3b8;
    --vitt-border:    #1e2740;
    --vitt-navy:      #0a0e1a;
    --vitt-gradient:  linear-gradient(135deg, #f5b800 0%, #fcd34d 100%);
    --vitt-shadow:    0 8px 24px rgba(245,184,0,.30);
}

/* Bootstrap 4 vars */
:root {
    --primary:   var(--vitt-brand);
    --secondary: var(--vitt-navy);
    --success:   #10b981;
    --info:      #3b82f6;
    --warning:   #f59e0b;
    --danger:    #ef4444;
    --light:     var(--vitt-bg-2);
    --dark:      #050810;
}

body, body.primary-bg-color {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    background: var(--vitt-bg) !important;
    color: var(--vitt-text) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: -.3px;
}

p, small, span, label, td, li { color: var(--vitt-text-2); }
.text-muted { color: var(--vitt-muted) !important; }

a { color: var(--vitt-brand-lt); transition: color .15s; }
a:hover, a:focus { color: var(--vitt-brand) !important; text-decoration: none; }

/* Header */
.header, .header .navbar {
    background: var(--vitt-bg-2) !important;
    border-bottom: 1px solid var(--vitt-border);
}
.header .topbar {
    background: var(--vitt-bg-3) !important;
    border-bottom: 1px solid var(--vitt-border);
    color: var(--vitt-muted);
    font-size: 13px;
}
.navbar-brand img.logo-img { max-height: 42px; }
.navbar-brand, .navbar-brand:hover { color: #fff !important; }
.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-toggler {
    color: var(--vitt-text-2) !important;
    font-weight: 500;
    padding: .5rem 1rem;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .active > .nav-link {
    color: var(--vitt-brand-lt) !important;
}
.navbar-toggler-icon {
    filter: invert(1);
}

/* Search input no header */
.header .form-control {
    background: var(--vitt-bg) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text) !important;
}
.header .btn-default {
    background: var(--vitt-bg) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-muted) !important;
}

/* Breadcrumb */
.master-breadcrumb {
    background: var(--vitt-bg-2);
    border-bottom: 1px solid var(--vitt-border);
    font-size: 13px;
}
.master-breadcrumb .breadcrumb {
    background: transparent;
    margin: 0; padding: 12px 0;
}
.master-breadcrumb a, .master-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: var(--vitt-muted);
}
.master-breadcrumb a:hover { color: var(--vitt-brand-lt); }
.master-breadcrumb .breadcrumb-item.active { color: var(--vitt-text); }

/* Botoes */
.btn { border-radius: 8px; font-weight: 600; transition: transform .15s, box-shadow .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active {
    background: var(--vitt-gradient) !important;
    border: 0 !important;
    color: var(--vitt-navy) !important;
    font-weight: 700;
    box-shadow: var(--vitt-shadow) !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg, #fcd34d 0%, #f5b800 100%) !important;
    color: var(--vitt-navy) !important;
    box-shadow: 0 12px 28px rgba(245,184,0,.45) !important;
}
.btn-secondary {
    background: var(--vitt-bg-3) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text) !important;
}
.btn-secondary:hover { background: var(--vitt-border) !important; color: #fff !important; }
.btn-outline-primary {
    color: var(--vitt-brand-lt) !important;
    border-color: var(--vitt-brand) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: var(--vitt-gradient) !important;
    color: var(--vitt-navy) !important;
    border-color: transparent !important;
}
.btn-default, .btn-light {
    background: var(--vitt-bg-3) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text) !important;
}

/* Texto/highlight */
.text-primary, .text-info, a.text-primary {
    color: var(--vitt-brand-lt) !important;
}
.bg-primary { background: var(--vitt-gradient) !important; color: var(--vitt-navy) !important; }

/* Cards */
.card, .panel {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 12px;
    color: var(--vitt-text-2);
}
.card-header {
    background: var(--vitt-bg-3) !important;
    border-bottom: 1px solid var(--vitt-border) !important;
    color: #ffffff;
}
.card-body { color: var(--vitt-text-2); }
.card-body h1, .card-body h2, .card-body h3, .card-body h4, .card-body h5 { color: #fff; }
.card-footer { background: var(--vitt-bg-3); border-top: 1px solid var(--vitt-border); }

/* Alertas (mais visiveis no fundo dark) */
.alert-info    { background: rgba(59,130,246,.15); border-color: rgba(59,130,246,.4); color: #93c5fd; }
.alert-success { background: rgba(16,185,129,.15); border-color: rgba(16,185,129,.4); color: #6ee7b7; }
.alert-warning { background: rgba(245,158,11,.15); border-color: rgba(245,158,11,.4); color: #fbbf24; }
.alert-danger  { background: rgba(239,68,68,.15);  border-color: rgba(239,68,68,.4);  color: #fca5a5; }

/* Forms */
.form-control, .custom-select, textarea, select, input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel] {
    background: var(--vitt-bg-3) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text) !important;
    border-radius: 8px;
}
.form-control:focus, .custom-select:focus {
    border-color: var(--vitt-brand) !important;
    box-shadow: 0 0 0 3px rgba(245, 184, 0, .20) !important;
    background: var(--vitt-bg-2) !important;
    color: #fff !important;
}
.form-control::placeholder { color: var(--vitt-muted); }
.input-group-text {
    background: var(--vitt-bg-3) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-muted) !important;
}
.form-check-label { color: var(--vitt-text-2); }

/* Tables */
.table, table {
    color: var(--vitt-text-2) !important;
    background: transparent;
}
.table thead th {
    background: var(--vitt-bg-3) !important;
    border-bottom: 2px solid var(--vitt-border) !important;
    color: var(--vitt-muted) !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .5px;
}
.table td, .table th { border-color: var(--vitt-border) !important; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.02) !important; }
.table tbody tr:hover { background: rgba(245, 184, 0, .06) !important; }

/* Badges */
.badge {
    padding: 4px 10px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .5px;
}
.badge-primary { background: var(--vitt-gradient) !important; color: var(--vitt-navy) !important; }
.badge-success { background: #10b981 !important; color: #fff !important; }
.badge-danger  { background: #ef4444 !important; color: #fff !important; }
.badge-warning { background: #f59e0b !important; color: #fff !important; }
.badge-info    { background: #3b82f6 !important; color: #fff !important; }

/* Cart */
.cart-btn { color: var(--vitt-text) !important; }
.cart-btn:hover { color: var(--vitt-brand-lt) !important; }
.cart-btn .badge-info { background: var(--vitt-gradient) !important; color: var(--vitt-navy) !important; }

/* Main body */
#main-body {
    background: var(--vitt-bg);
    min-height: calc(100vh - 300px);
}

/* Footer */
footer, footer.main-footer, .footer, #footer {
    background: #050810 !important;
    color: var(--vitt-muted) !important;
    border-top: 3px solid var(--vitt-brand);
}
footer a, .footer a { color: var(--vitt-text-2) !important; }
footer a:hover, .footer a:hover { color: var(--vitt-brand-lt) !important; }
footer h1, footer h2, footer h3, footer h4, footer h5 { color: #fff !important; }

/* Sidebar */
.sidebar {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 20px;
}
.sidebar .list-group-item,
.sidebar .list-group-item.list-group-item-action {
    background: transparent !important;
    border: 0 !important;
    padding: 10px 14px;
    color: var(--vitt-text-2) !important;
    border-radius: 8px;
}
.sidebar .list-group-item:hover {
    background: rgba(245, 184, 0, .10) !important;
    color: var(--vitt-brand-lt) !important;
}
.sidebar .list-group-item.active {
    background: var(--vitt-gradient) !important;
    color: var(--vitt-navy) !important;
    font-weight: 600;
}

/* Product boxes */
.product-box, .product-list-item {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 12px;
    color: var(--vitt-text-2);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.product-box:hover, .product-list-item:hover {
    transform: translateY(-3px);
    border-color: var(--vitt-brand) !important;
    box-shadow: 0 12px 30px rgba(245, 184, 0, .25) !important;
}

/* Login */
#loginfrm, .login-container {
    background: var(--vitt-bg-2) !important;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,.6);
    padding: 32px;
    border: 1px solid var(--vitt-border);
}

/* Pagination */
.pagination .page-link {
    background: var(--vitt-bg-2);
    border-color: var(--vitt-border);
    color: var(--vitt-text-2);
}
.pagination .page-item.active .page-link {
    background: var(--vitt-gradient) !important;
    border-color: transparent !important;
    color: var(--vitt-navy) !important;
    font-weight: 700;
}
.pagination .page-link:hover {
    background: rgba(245, 184, 0, .12);
    color: var(--vitt-brand-lt);
}

/* Dropdowns / popovers / modals */
.dropdown-menu, .popover, .modal-content {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text) !important;
}
.dropdown-item {
    color: var(--vitt-text-2) !important;
}
.dropdown-item:hover, .dropdown-item:focus {
    background: rgba(245, 184, 0, .10) !important;
    color: var(--vitt-brand-lt) !important;
}
.modal-header { border-bottom-color: var(--vitt-border) !important; }
.modal-footer { border-top-color: var(--vitt-border) !important; }
.close { color: var(--vitt-text); text-shadow: none; }

/* Tabs / nav-tabs */
.nav-tabs { border-bottom: 1px solid var(--vitt-border); }
.nav-tabs .nav-link {
    color: var(--vitt-muted);
    border-color: transparent;
}
.nav-tabs .nav-link.active {
    background: var(--vitt-bg-2) !important;
    border-color: var(--vitt-border) var(--vitt-border) var(--vitt-bg-2) !important;
    color: var(--vitt-brand-lt) !important;
}

/* Utilities Vitt */
.vitt-brand { color: var(--vitt-brand-lt) !important; }
.vitt-navy  { color: var(--vitt-navy) !important; }
.vitt-gradient-bg { background: var(--vitt-gradient) !important; color: var(--vitt-navy) !important; }

/* HR */
hr { border-color: var(--vitt-border); }

/* Scroll bars discretas (webkit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--vitt-bg); }
::-webkit-scrollbar-thumb { background: var(--vitt-border); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--vitt-brand-dk); }

/* ================================================================
   INTEGRACAO COM HEADER/FOOTER DO SITE PRINCIPAL (Vitt)
   O twenty-one nativo eh removido do header.tpl e substituido pelo
   layout do site principal. Como o site principal usa style.css
   proprio (com cores gold ja definidas), aqui so ajustamos:
   1. Isolar o site header/footer do dark do WHMCS
   2. Fixar cards de dashboard (icones/numeros brancos)
   3. Cores de tudo dentro de #main-body
   ================================================================= */

.vitt-site-header,
.vitt-site-header * {
    /* deixa o site header usar CORES DELE (do style.css do site principal) */
    box-sizing: border-box;
}
.vitt-site-header .navbar-brand img,
.vitt-site-header .navbar-logo img { max-height: 60px; width: auto; }
.vitt-site-header .navbar-btn {
    background: var(--vitt-gradient) !important;
    color: var(--vitt-navy) !important;
    border-radius: 999px !important;
    padding: 10px 22px !important;
    font-weight: 700 !important;
}
.vitt-site-header .vitt-logout-link {
    color: var(--vitt-muted) !important;
    padding-left: 10px !important;
}
.vitt-site-header .vitt-logout-link:hover { color: var(--vitt-brand-lt) !important; }

/* Barra do cliente logado */
.vitt-clientbar {
    background: linear-gradient(90deg, rgba(245,184,0,.08) 0%, transparent 100%);
    border-bottom: 1px solid var(--vitt-border);
    padding: 8px 0;
    font-size: 13px;
}
.vitt-clientbar-btn {
    color: var(--vitt-muted) !important;
    padding: 4px 8px !important;
}
.vitt-clientbar-btn:hover { color: var(--vitt-brand-lt) !important; }
.vitt-cart-btn {
    color: var(--vitt-text-2);
    font-size: 16px;
    position: relative;
    display: inline-flex;
    align-items: center;
}
.vitt-cart-btn:hover { color: var(--vitt-brand-lt); }
.vitt-cart-btn .badge {
    background: var(--vitt-gradient);
    color: var(--vitt-navy);
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 100px;
    margin-left: 4px;
}
.vitt-user-label { color: var(--vitt-muted); margin-right: 8px; }
.vitt-user-name {
    color: var(--vitt-brand-lt) !important;
    font-weight: 600;
    padding: 4px 10px;
    background: rgba(245,184,0,.10);
    border: 1px solid rgba(245,184,0,.30);
    border-radius: 999px;
}
.vitt-user-name:hover { background: rgba(245,184,0,.18); color: var(--vitt-brand-lt) !important; }

/* Footer do site principal (usa cores do style.css) - ajuste minimo pra funcionar em dark */
.vitt-site-footer { background: #050810 !important; color: var(--vitt-muted); }
.vitt-site-footer h5 { color: #fff; }
.vitt-site-footer a { color: var(--vitt-text-2); }
.vitt-site-footer a:hover { color: var(--vitt-brand-lt); }
.vitt-footer-bar {
    background: #030509;
    color: var(--vitt-muted);
    padding: 16px 0;
    border-top: 3px solid var(--vitt-brand);
}
.vitt-footer-bar small { color: var(--vitt-muted); }
.vitt-footer-bar a { color: var(--vitt-muted); }
.vitt-footer-bar .footer-arrow-setting {
    color: var(--vitt-brand);
    font-size: 24px;
    transition: transform .2s;
}
.vitt-footer-bar .footer-arrow-setting:hover { transform: translateY(-3px); color: var(--vitt-brand-lt); }
.vitt-footer-bar .heart { color: #ef4444; }

/* ================================================================
   FIX cards do dashboard (SERVICOS/DOMINIOS/INGRESSOS/FATURAS brancos)
   Twenty-one usa .home-counts / .summary-count / .dashboard-count
   ================================================================= */
.home-counts, .home-counts .card, .home-counts-item,
.dashboard-summary, .services-summary,
.count-header, .count-value,
[class*="summary-"]  {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text) !important;
    border-radius: 12px;
}
.home-counts-item .icon,
.home-counts .icon,
[class*="summary-icon"],
.count-icon,
.home-counts svg,
.services-summary svg,
.dashboard-summary svg {
    color: var(--vitt-brand) !important;
    fill: var(--vitt-brand) !important;
    stroke: var(--vitt-brand) !important;
}
.home-counts-item .count,
.home-counts .count,
.home-counts h2, .home-counts h3,
[class*="summary-count"],
.count-value {
    color: var(--vitt-brand-lt) !important;
    font-weight: 800 !important;
    font-size: 32px;
}
.home-counts-item .label,
[class*="summary-label"],
.count-label {
    color: var(--vitt-muted) !important;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1.5px;
    font-weight: 600;
}

/* Panel Perfil (esquerda) e todos card containers */
.panel, .well, .panel-body, .panel-heading {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
    border-radius: 12px;
}
.panel-heading { background: var(--vitt-bg-3) !important; }

/* Widget de faturas em atraso, tickets, afiliados etc */
.widget, .box, .content-box,
[class*="dashboard-"], [class*="widget-"] {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text-2);
}
.widget h3, .widget h4, .widget h5,
.box h3, .box h4, .box h5,
[class*="widget-"] h3, [class*="widget-"] h4, [class*="widget-"] h5 {
    color: #ffffff !important;
}
.widget a, .box a { color: var(--vitt-brand-lt); }

/* Botao verde "Registre" e verdes em geral - manter contraste */
.btn-success {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    font-weight: 700;
}
.btn-success:hover { transform: translateY(-1px); background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important; }

/* Ticket status pill (Fechado/Aberto) */
.ticket-status, .status-badge, [class*="status-"] {
    padding: 3px 10px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Formulario de dominio */
.domain-search input[type=text], input[name=domain] {
    background: var(--vitt-bg-3) !important;
    color: var(--vitt-text) !important;
    border-color: var(--vitt-border) !important;
}

/* Emergency: qualquer texto que caiu branco no fundo escuro */
body, body p, body td, body span:not(.badge) {
    color: var(--vitt-text-2);
}
body h1, body h2, body h3, body h4, body h5, body h6 {
    color: #ffffff;
}

/* Notifications no vitt-clientbar */
#accountNotifications + [id*="Content"] {
    background: var(--vitt-bg-2);
    border: 1px solid var(--vitt-border);
    color: var(--vitt-text-2);
}

/* ================================================================
   AJUSTES FINAIS: fundos brancos residuais + social icons + chat
   ================================================================= */

/* WHMCS usa CSS Bootstrap com bg-white / .card-body em varios lugares */
.bg-white, .bg-light, [class*="bg-white"],
.card.bg-white, .card.bg-light {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
}

/* Ultimas Noticias / anuncio recente na home cliente */
.announcementItem, .announcement-item, .latestAnnouncements,
[class*="announcement"], [class*="Announcement"],
.homepage-panel, .home-panel,
.panel-default, .card-default {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
}
.announcementItem h3, .announcementItem h4, .announcementItem a,
[class*="announcement"] h3, [class*="announcement"] h4, [class*="announcement"] a {
    color: #fff !important;
}
.announcementItem time, .announcementItem .date,
[class*="announcement"] time, [class*="announcement"] .date {
    color: var(--vitt-muted) !important;
    font-size: 12px;
}

/* Widgets home cliente: services, tickets, invoices, network status */
.services-listing, .tickets-listing, .invoices-listing, .network-status,
[class*="listing-item"], [class*="widget-body"] {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
    border-color: var(--vitt-border) !important;
}

/* Home page do cliente (clientareahome) - reset TODOS backgrounds brancos */
.home-shortcuts, .home-shortcuts-item,
.stat-boxes, .stat-box,
.two-thirds, .one-third,
.col-md-6 > .card, .col-md-4 > .card, .col-md-12 > .card,
[class*="col-"] > .card, [class*="col-"] > .panel {
    background: var(--vitt-bg-2) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
}

/* Registrar novo dominio - input area */
.domain-lookup-form, [class*="domain-search"] {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text) !important;
}
.domain-lookup-form input, [class*="domain"] input {
    background: var(--vitt-bg-3) !important;
    color: var(--vitt-text) !important;
    border-color: var(--vitt-border) !important;
}

/* Force qualquer container filho de #main-body a nao ter fundo branco */
#main-body [style*="background: white"],
#main-body [style*="background:#fff"],
#main-body [style*="background: #fff"],
#main-body [style*="background-color: white"],
#main-body [style*="background-color:#fff"],
#main-body [style*="background-color: #fff"] {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
}

/* Programa de afiliados widget */
.affiliate-widget, .affiliate-panel, [class*="affiliate"] {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
    border-color: var(--vitt-border) !important;
}

/* Sair / Registrar Novo Dominio no perfil lateral (menu esquerdo Atalhos) */
.sidebar .list-group-item i, .sidebar a i { color: var(--vitt-brand-lt); }

/* ============ SOCIAL ICONS NO FOOTER (Discord + WhatsApp) ============ */
.vitt-site-footer .footer-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    padding: 0;
    margin-top: 20px;
    list-style: none;
}
.vitt-site-footer .footer-list li {
    display: inline-flex;
    margin: 0;
}
.vitt-site-footer .footer-list .btn-icon,
.vitt-site-footer .footer-list a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(245, 184, 0, .10) !important;
    border: 1px solid rgba(245, 184, 0, .30) !important;
    color: var(--vitt-brand-lt) !important;
    font-size: 18px !important;
    transition: transform .15s, background .15s, border-color .15s;
    text-decoration: none !important;
}
.vitt-site-footer .footer-list .btn-icon:hover,
.vitt-site-footer .footer-list a:hover {
    background: var(--vitt-gradient) !important;
    color: var(--vitt-navy) !important;
    border-color: transparent !important;
    transform: translateY(-3px);
}
.vitt-site-footer .footer-list .btn-icon i,
.vitt-site-footer .footer-list a i {
    margin: 0 !important;
    line-height: 1 !important;
}

/* ============ CHATWOOT WIDGET dark mode ============ */
.woot-widget-holder,
.woot-widget-bubble,
.woot-widget-bubble.woot-widget-bubble--flat,
.woot--bubble-holder {
    /* Bubble fica gold Vitt */
    background: linear-gradient(135deg, #f5b800 0%, #fcd34d 100%) !important;
    box-shadow: 0 8px 24px rgba(245, 184, 0, .35) !important;
}
.woot-widget-bubble .woot-widget--expanded__text { color: var(--vitt-navy) !important; }
/* Chatwoot: force dark theme via CSS var (o widget suporta) */
:root {
    --woot-color-primary: #f5b800;
    --woot-color-primary-dark: #d4a000;
}

/* ============ Fix Notifications dropdown ============ */
.popover, .popover-body {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
    border-color: var(--vitt-border) !important;
}
.popover .arrow::after { border-bottom-color: var(--vitt-bg-2) !important; }
.popover-header {
    background: var(--vitt-bg-3) !important;
    color: #fff !important;
    border-bottom-color: var(--vitt-border) !important;
}

/* ================================================================
   OVERRIDES DIRECIONADOS - elementos do twenty-one theme.min.css
   com cores hardcoded (vermelho/cinza) que sobrescreviam nosso dark
   ================================================================= */

/* Tiles dashboard (4 SERVICOS, 2 DOMINIOS, 0 INGRESSOS, 1 FATURA) */
.tiles, .tiles .tile, .tiles > div, .tiles > div > a,
.tile, .row.no-gutters .tile {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}
.tiles .tile:hover, .tile:hover {
    background-color: var(--vitt-bg-3) !important;
    border-color: rgba(245,184,0,.4) !important;
    transform: translateY(-2px);
    transition: all .2s;
}
.tiles .tile a, .tile a { color: var(--vitt-text) !important; text-decoration: none !important; }
.tiles .tile-value, .tile-value, .tile .count, .tile h1, .tile h2, .tile h3 {
    color: var(--vitt-brand-lt) !important;
    font-weight: 800 !important;
    font-size: clamp(30px, 3.5vw, 46px) !important;
}
.tiles .tile-label, .tile-label, .tile p, .tile small {
    color: var(--vitt-muted) !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    font-weight: 600 !important;
}
.tiles .tile i, .tiles .tile svg, .tile i, .tile svg {
    color: var(--vitt-brand) !important;
    fill: var(--vitt-brand) !important;
    opacity: .8;
}

/* List-group items (Ultimas Noticias + Comunicados + qualquer lista) */
.list-group, .list-group-flush {
    background: transparent !important;
}
.list-group-item, .list-group-item-action,
.list-group-item:first-child, .list-group-item:last-child,
.client-home-cards .list-group-item {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
}
.list-group-item:hover, .list-group-item-action:hover {
    background-color: var(--vitt-bg-3) !important;
    color: var(--vitt-brand-lt) !important;
    border-left: 3px solid var(--vitt-brand) !important;
    padding-left: calc(1.25rem - 3px) !important;
}
.list-group-item h3, .list-group-item h4, .list-group-item h5,
.list-group-item .h3, .list-group-item .h4, .list-group-item .h5,
.list-group-item strong, .list-group-item b {
    color: #fff !important;
}
.list-group-item .text-last-updated,
.list-group-item time, .list-group-item .date, .list-group-item small,
.text-last-updated {
    color: var(--vitt-muted) !important;
    font-size: 12px !important;
}

/* Cards e client-home-cards */
.client-home-cards, .card, .card-body {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
    border-radius: 12px !important;
}
.card-header, .card-title, .card > .card-header {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    border-bottom: 1px solid var(--vitt-border) !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.card-footer {
    background: var(--vitt-bg-3) !important;
    border-top: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
}
/* Card accents coloridos → tudo navy, so muda borda topo */
.card-accent-red, .card-accent-emerald, .card-accent-gold,
.card-accent-asbestos, .card-accent-blue, .card-accent-purple {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
}
.card-accent-red { border-top: 3px solid #ef4444 !important; }
.card-accent-emerald { border-top: 3px solid #10b981 !important; }
.card-accent-gold { border-top: 3px solid var(--vitt-brand) !important; }
.card-accent-asbestos { border-top: 3px solid var(--vitt-muted) !important; }
.card-accent-blue { border-top: 3px solid #3b82f6 !important; }
.card-accent-purple { border-top: 3px solid #a855f7 !important; }

/* Masspay total row (Sub-total/Credito/Total Vencido) */
tr.masspay-total, tr.masspay-total td,
tr.masspay-invoice-detail, tr.masspay-invoice-detail td,
.masspay-total td, .masspay-invoice-detail td {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    color: var(--vitt-text) !important;
    border-color: var(--vitt-border) !important;
}
tr.masspay-total td:last-child, tr.masspay-total td.text-right {
    color: var(--vitt-brand-lt) !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}
tr.masspay-invoice-detail:hover td {
    background: rgba(245,184,0,.05) !important;
    background-color: rgba(245,184,0,.05) !important;
}

/* Overrides pra inline styles com cores claras/vermelhas */
[style*="background-color: #f8f8f8"], [style*="background-color:#f8f8f8"],
[style*="background-color: #efefef"], [style*="background-color:#efefef"],
[style*="background-color: #fff"],     [style*="background-color:#fff"],
[style*="background-color: #ffffff"],  [style*="background-color:#ffffff"],
[style*="background: #f8f8f8"], [style*="background:#f8f8f8"],
[style*="background: #efefef"], [style*="background:#efefef"],
[style*="background: #fff"],    [style*="background:#fff"],
[style*="background-color: #af1717"], [style*="background-color:#af1717"],
[style*="background-color: #c51717"], [style*="background-color:#c51717"],
[style*="background-color: #bb2424"], [style*="background-color:#bb2424"],
[style*="background-color: #d32f2f"], [style*="background-color:#d32f2f"] {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
}

/* Bootstrap bg-* utility classes */
.bg-white, .bg-light, .bg-body, .bg-gray,
tr.bg-white, tr.bg-light, td.bg-white, td.bg-light,
[class*="bg-light-"], .bg-secondary-light {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
}

/* Tables gerais */
.table, table.table {
    color: var(--vitt-text-2) !important;
    background: transparent !important;
}
.table-striped tbody tr:nth-of-type(odd),
.table-striped tbody tr:nth-of-type(even),
.table-striped > tbody > tr {
    background: transparent !important;
    background-color: transparent !important;
}
.table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255,255,255,.02) !important;
    background-color: rgba(255,255,255,.02) !important;
}
.table td, .table th {
    background: transparent !important;
    color: var(--vitt-text-2) !important;
    border-color: var(--vitt-border) !important;
    vertical-align: middle;
}
.table thead th {
    background: var(--vitt-bg-3) !important;
    color: var(--vitt-muted) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .5px;
    border-bottom: 2px solid var(--vitt-border) !important;
}
.table tbody tr:hover { background: rgba(245,184,0,.04) !important; }

/* Alerta "faturas em atraso" */
.alertsRefer, .alerts-widget, .overdueInvoicesAlert,
[id*="overdueInvoices" i], [id*="OverdueInvoices"] {
    background: rgba(239,68,68,.10) !important;
    background-color: rgba(239,68,68,.10) !important;
    border: 1px solid rgba(239,68,68,.35) !important;
    color: #fca5a5 !important;
    border-radius: 12px !important;
}
.alertsRefer a, .alerts-widget a, .overdueInvoicesAlert a {
    color: var(--vitt-brand-lt) !important;
    font-weight: 700;
}

/* Botao "Registre" (dominio) - garantir gold */
button[type="submit"].btn-primary,
input[type="submit"].btn-primary,
button.btn-primary,
form .btn-primary {
    background: var(--vitt-gradient) !important;
    background-color: var(--vitt-brand) !important;
    color: var(--vitt-navy) !important;
    border: 0 !important;
    font-weight: 700 !important;
}

/* ============ ALINHAMENTOS + LAYOUT ============ */

/* Footer social icons - centralizados */
.vitt-site-footer .footer-list {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 20px 0 0 !important;
    list-style: none !important;
    flex-wrap: wrap;
}
.vitt-site-footer .footer-list li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}
.vitt-site-footer .footer-list a,
.vitt-site-footer .footer-list .btn-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(245,184,0,.12) !important;
    background-color: rgba(245,184,0,.12) !important;
    border: 1px solid rgba(245,184,0,.35) !important;
    color: var(--vitt-brand-lt) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all .15s;
}
.vitt-site-footer .footer-list a:hover,
.vitt-site-footer .footer-list .btn-icon:hover {
    background: var(--vitt-gradient) !important;
    background-color: var(--vitt-brand) !important;
    color: var(--vitt-navy) !important;
    border-color: transparent !important;
    transform: translateY(-3px) scale(1.05);
}
.vitt-site-footer .footer-list i { margin: 0 !important; }

/* Perfil "sidebar" left - alinhamento consistente */
.panel-body, .sidebar {
    background: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
}

/* Botao "Atualizar" (verde) manter em success */
a.btn-success, button.btn-success, .btn-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    background-color: #10b981 !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
}

/* Ver Detalhes (produtos/servicos) - dark buttons */
.btn-default, .btn-secondary, a.btn-default, a.btn-secondary {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    border: 1px solid var(--vitt-border) !important;
    color: var(--vitt-text) !important;
    font-weight: 600;
}
.btn-default:hover, .btn-secondary:hover {
    background: rgba(245,184,0,.10) !important;
    color: var(--vitt-brand-lt) !important;
    border-color: rgba(245,184,0,.4) !important;
}

/* Status pills (Ativo / Fechado / Pago / etc) */
.label, .status, .service-status,
span.label-success, span.label-info, span.label-warning, span.label-danger,
.badge-success, .badge-info, .badge-warning, .badge-danger {
    display: inline-block;
    padding: 4px 10px !important;
    border-radius: 100px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
}
.label-success, .badge-success, span[class*="Active"], span[class*="Ativo"] {
    background: rgba(16,185,129,.15) !important;
    color: #34d399 !important;
    border: 1px solid rgba(16,185,129,.35);
}
.label-danger, .badge-danger, span[class*="Fechado"], span[class*="Closed"] {
    background: rgba(148,163,184,.15) !important;
    color: var(--vitt-muted) !important;
    border: 1px solid rgba(148,163,184,.30);
}

/* Fatura numbers (Fatura #46, #38, etc) - gold */
[class*="invoice-num"], [class*="invoiceNum"],
.blue-text a, a.text-primary, .fatura-numero {
    color: var(--vitt-brand-lt) !important;
    font-weight: 700 !important;
}

/* Fix modais - fundo dark */
.modal-dialog .modal-content,
.modal-header, .modal-body, .modal-footer {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
    border-color: var(--vitt-border) !important;
}
.modal-title { color: #fff !important; }

/* Pagination */
.pagination .page-item .page-link {
    background: var(--vitt-bg-2) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
}
.pagination .page-item.active .page-link {
    background: var(--vitt-gradient) !important;
    color: var(--vitt-navy) !important;
    border-color: transparent !important;
    font-weight: 700;
}
.pagination .page-item.disabled .page-link {
    background: transparent !important;
    color: var(--vitt-muted) !important;
    opacity: .5;
}

/* Fix text/color heranca no #main-body */
#main-body p, #main-body td, #main-body div,
#main-body span:not(.badge):not(.label) {
    color: var(--vitt-text-2);
}
#main-body h1, #main-body h2, #main-body h3,
#main-body h4, #main-body h5, #main-body h6 { color: #ffffff; }

/* text-muted variantes */
.text-muted, small.text-muted, span.text-muted {
    color: var(--vitt-muted) !important;
}

/* Language modal + close btn */
.modal-localisation { background: transparent; }
.modal-localisation .item {
    background: var(--vitt-bg-3) !important;
    color: var(--vitt-text) !important;
    border: 1px solid var(--vitt-border);
    display: block;
    padding: 10px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
}
.modal-localisation .item:hover { background: var(--vitt-brand) !important; color: var(--vitt-navy) !important; }
.modal-localisation .item.active { background: var(--vitt-gradient) !important; color: var(--vitt-navy) !important; }

/* Perfil name box (sidebar esquerdo) */
.sidebar h3, .sidebar h4, .sidebar h5 { color: #fff !important; }
.sidebar address, .sidebar .info { color: var(--vitt-text-2); font-style: normal; }

/* ================================================================
   VIEW TICKET + EDITOR MARKDOWN
   Cores hardcoded #d71b1b/#f6f6f6/#dd0303/#db0606/#e30000/#fff/#f5f5f5
   vindas do theme.min.css do twenty-one
   ================================================================= */

/* Card do ticket + box "Postado por" */
.view-ticket, .view-ticket .card, .view-ticket .card-body {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border-color: var(--vitt-border) !important;
    color: var(--vitt-text-2) !important;
}
.view-ticket .posted-by, .posted-by {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    color: var(--vitt-text-2) !important;
    border-left: 3px solid var(--vitt-brand) !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 12px;
}
.posted-by-name, .posted-on,
.view-ticket .posted-by-name, .view-ticket .posted-on {
    color: #ffffff !important;
    font-weight: 700 !important;
}
.requestor-badge, .requestor-type-owner, .label-warning {
    background: rgba(245,184,0,.15) !important;
    background-color: rgba(245,184,0,.15) !important;
    color: var(--vitt-brand-lt) !important;
    border: 1px solid rgba(245,184,0,.35) !important;
    padding: 3px 10px !important;
    border-radius: 100px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.view-ticket .message, .ticket-reply .message, .message {
    color: var(--vitt-text-2) !important;
    line-height: 1.6;
}

/* Alerts semanticos */
.alert-warning, .alert.alert-warning, .alert.alert-warning.text-center {
    background: rgba(245,158,11,.12) !important;
    background-color: rgba(245,158,11,.12) !important;
    color: #fbbf24 !important;
    border: 1px solid rgba(245,158,11,.32) !important;
    border-radius: 8px !important;
}
.alert-info, .alert.alert-info {
    background: rgba(59,130,246,.12) !important;
    background-color: rgba(59,130,246,.12) !important;
    color: #60a5fa !important;
    border: 1px solid rgba(59,130,246,.32) !important;
}
.alert-success, .alert.alert-success {
    background: rgba(16,185,129,.12) !important;
    background-color: rgba(16,185,129,.12) !important;
    color: #34d399 !important;
    border: 1px solid rgba(16,185,129,.32) !important;
}
.alert-danger, .alert.alert-danger {
    background: rgba(239,68,68,.12) !important;
    background-color: rgba(239,68,68,.12) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239,68,68,.32) !important;
}

/* Botao Fechado (btn-danger) */
.btn-danger, a.btn-danger, button.btn-danger {
    background: rgba(239,68,68,.15) !important;
    background-color: rgba(239,68,68,.15) !important;
    color: #f87171 !important;
    border: 1px solid rgba(239,68,68,.35) !important;
    font-weight: 700 !important;
}
.btn-danger:hover { background: rgba(239,68,68,.25) !important; color: #fca5a5 !important; }

/* ---- Editor Markdown (md-editor) ---- */
.md-editor, .md-editor.active {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 8px !important;
    overflow: hidden;
}
.md-editor > .md-header,
.md-editor .md-header,
.md-editor .md-header.btn-toolbar,
.md-editor > .btn-toolbar,
.md-editor .btn-toolbar {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    border-bottom: 1px solid var(--vitt-border) !important;
    padding: 6px 10px !important;
    margin: 0 !important;
}
.md-editor .btn-toolbar .btn,
.md-editor .btn-toolbar button,
.md-editor .btn-toolbar a.btn {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    color: var(--vitt-text-2) !important;
    padding: 6px 10px !important;
    border-radius: 4px !important;
}
.md-editor .btn-toolbar .btn:hover,
.md-editor .btn-toolbar button:hover {
    background: rgba(245,184,0,.12) !important;
    background-color: rgba(245,184,0,.12) !important;
    color: var(--vitt-brand-lt) !important;
}
.md-editor .btn-toolbar .btn-primary,
.md-editor .btn-toolbar .btn.active {
    background: var(--vitt-gradient) !important;
    background-color: var(--vitt-brand) !important;
    color: var(--vitt-navy) !important;
    font-weight: 700 !important;
}

/* Textarea do editor */
.md-editor textarea,
.md-editor > textarea,
.md-editor .md-input,
.md-editor textarea.form-control,
textarea.markdown-editor,
textarea.markdown-editor.md-input,
.form-control.markdown-editor,
.form-control.markdown-editor.md-input {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    color: var(--vitt-text) !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    resize: vertical !important;
    padding: 14px 16px !important;
    font-family: Menlo, Monaco, Consolas, monospace !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    min-height: 200px;
}
.md-editor textarea:focus, .md-editor .md-input:focus {
    background: var(--vitt-bg-2) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 2px rgba(245,184,0,.25) !important;
}
.md-editor textarea::placeholder { color: var(--vitt-muted) !important; }

/* Footer do editor */
.md-editor > .md-footer,
.md-editor .md-footer {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    border-top: 1px solid var(--vitt-border) !important;
    color: var(--vitt-muted) !important;
    padding: 6px 12px !important;
    font-size: 11px !important;
}

/* Preview mode */
.md-editor .md-preview {
    background: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
    padding: 14px 16px !important;
    min-height: 200px;
}
.md-editor .md-preview code {
    background: var(--vitt-bg-3);
    color: var(--vitt-brand-lt);
    padding: 2px 6px;
    border-radius: 4px;
}
.md-editor .md-preview blockquote {
    border-left: 3px solid var(--vitt-brand);
    background: var(--vitt-bg-3);
    padding: 12px 16px;
}
.md-editor .md-fullscreen-controls { background: var(--vitt-bg-3) !important; }
.md-editor .md-fullscreen-controls a { color: var(--vitt-brand-lt) !important; }
.md-editor.md-fullscreen-mode { background: var(--vitt-bg) !important; }

/* Ticket replies */
.ticket-reply, .ticket-reply-item, .markdown-content {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-bottom: 12px;
}
.ticket-reply .card, .ticket-reply .card-body {
    background: transparent !important;
    border: 0 !important;
}

/* File upload */
input[type="file"], .custom-file-label, .form-control[type="file"] {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    color: var(--vitt-text-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 8px !important;
}
.custom-file-label::after {
    background: var(--vitt-bg) !important;
    color: var(--vitt-text) !important;
    border-left: 1px solid var(--vitt-border) !important;
}

/* Botoes outline */
.btn-outline-secondary, .btn-outline-primary, .btn-outline-dark {
    background: transparent !important;
    color: var(--vitt-text-2) !important;
    border: 1px solid var(--vitt-border) !important;
}
.btn-outline-secondary:hover, .btn-outline-primary:hover, .btn-outline-dark:hover {
    background: rgba(245,184,0,.10) !important;
    color: var(--vitt-brand-lt) !important;
    border-color: rgba(245,184,0,.4) !important;
}

/* Panels (sidebar direito) */
.panel, .panel-default {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    border: 1px solid var(--vitt-border) !important;
    border-radius: 12px !important;
    color: var(--vitt-text-2) !important;
    margin-bottom: 16px;
}
.panel-heading, .panel-default > .panel-heading, .panel-title {
    background: var(--vitt-bg-3) !important;
    background-color: var(--vitt-bg-3) !important;
    color: #ffffff !important;
    border-bottom: 1px solid var(--vitt-border) !important;
    padding: 10px 16px !important;
}
.panel-body { padding: 12px 16px !important; color: var(--vitt-text-2) !important; }
.panel-body a, .panel a { color: var(--vitt-brand-lt) !important; }

/* Menu Suporte no sidebar */
.panel .list-unstyled a, .sidebar .list-unstyled a {
    color: var(--vitt-text-2) !important;
    padding: 8px 10px;
    display: block;
    border-radius: 6px;
    text-decoration: none;
    transition: all .15s;
}
.panel .list-unstyled a:hover, .sidebar .list-unstyled a:hover {
    background: rgba(245,184,0,.08) !important;
    color: var(--vitt-brand-lt) !important;
    padding-left: 14px;
}
.panel .list-unstyled a i, .sidebar .list-unstyled a i {
    margin-right: 8px;
    color: var(--vitt-brand) !important;
}

/* Inline styles com cores hardcoded */
[style*="background-color: #dd0303"], [style*="background-color:#dd0303"],
[style*="background-color: #db0606"], [style*="background-color:#db0606"],
[style*="background-color: #d71b1b"], [style*="background-color:#d71b1b"],
[style*="background-color: #e30000"], [style*="background-color:#e30000"],
[style*="background-color: #f6f6f6"], [style*="background-color:#f6f6f6"],
[style*="background-color: #f5f5f5"], [style*="background-color:#f5f5f5"],
[style*="background: #dd0303"], [style*="background:#dd0303"],
[style*="background: #db0606"], [style*="background:#db0606"],
[style*="background: #f5f5f5"], [style*="background:#f5f5f5"] {
    background: var(--vitt-bg-2) !important;
    background-color: var(--vitt-bg-2) !important;
    color: var(--vitt-text-2) !important;
}

/* Botao Enviar */
form button[type="submit"].btn-primary,
form input[type="submit"].btn-primary {
    background: var(--vitt-gradient) !important;
    background-color: var(--vitt-brand) !important;
    color: var(--vitt-navy) !important;
    border: 0 !important;
    padding: 10px 26px !important;
    font-weight: 800 !important;
    border-radius: 999px !important;
}

/* Definition lists do painel de info */
dt, .info-label { color: var(--vitt-muted) !important; font-weight: 600; }
dd, .info-value { color: var(--vitt-text) !important; }
