/* =====================================================================
   GESTOR HC — Dark Premium Theme (UI Refresh Override)
   ---------------------------------------------------------------------
   Como usar:
     1. Salve este arquivo na raiz do sistema (mesma pasta de admin.php).
     2. Em cada arquivo .php que renderiza tela (admin, gestor, planos,
        servidores, aplicativos, templates, importar, indicacoes,
        settings, users, logo, login, fatura, payment-success,
        aplicativos, planos, etc.), adicione no <head>, como ÚLTIMO
        link de estilo (depois do Font Awesome e do <style> inline):
            <link rel="stylesheet" href="theme.css?v=1">
        OU, alternativamente, inclua via sidebar.php (que já é incluído
        em todas as páginas) o seguinte logo no início:
            <link rel="stylesheet" href="theme.css?v=1">
     3. Pronto. Nenhum arquivo PHP / JS / SQL é alterado.

   Este CSS NÃO modifica IDs, names, classes funcionais nem comportamento.
   Apenas redefine cores, bordas, sombras, espaçamentos e tipografia.
   ===================================================================== */

/* ---------- Tipografia ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ---------- Tokens ---------- */
:root{
  --hc-primary:        #C1121F;
  --hc-primary-600:    #B91C1C;
  --hc-primary-500:    #DC2626;
  --hc-primary-400:    #EF4444;
  --hc-primary-800:    #8B0000;
  --hc-primary-glow:   rgba(193,18,31,.45);

  --hc-bg-0:           #0F0F10;
  --hc-bg-1:           #151515;
  --hc-bg-2:           #1B1B1D;
  --hc-bg-3:           #202124;
  --hc-card:           #232326;
  --hc-card-hover:     #2B2B2F;

  --hc-text:           #FFFFFF;
  --hc-text-soft:      #E5E5E7;
  --hc-text-muted:     #B3B3B3;
  --hc-text-dim:       #7A7A80;

  --hc-line:           rgba(255,255,255,.08);
  --hc-line-strong:    rgba(255,255,255,.14);

  --hc-radius-sm:      10px;
  --hc-radius:         14px;
  --hc-radius-lg:      18px;
  --hc-radius-xl:      22px;

  --hc-shadow-sm:      0 1px 2px rgba(0,0,0,.35);
  --hc-shadow:         0 8px 24px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.25);
  --hc-shadow-lg:      0 18px 50px rgba(0,0,0,.45);
  --hc-shadow-red:     0 8px 28px rgba(193,18,31,.28);

  --hc-trans:          .25s cubic-bezier(.4,0,.2,1);
}

/* ---------- Reset visual base ---------- */
html, body{
  background: var(--hc-bg-0) !important;
  color: var(--hc-text) !important;
  font-family: 'Inter','Segoe UI',system-ui,-apple-system,sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
*{
  font-family: inherit;
}
body{
  background:
    radial-gradient(1200px 600px at -10% -20%, rgba(193,18,31,.08), transparent 60%),
    radial-gradient(900px 500px at 110% 0%, rgba(220,38,38,.05), transparent 60%),
    var(--hc-bg-0) !important;
}

/* Tipografia geral */
h1,h2,h3,h4,h5{
  color: var(--hc-text) !important;
  font-weight: 600 !important;
  letter-spacing:-.01em;
}
p, label, span, td, th, li, a, button, input, select, textarea{
  color: var(--hc-text-soft);
}
a{ color: var(--hc-primary-400); text-decoration:none; transition: color var(--hc-trans); }
a:hover{ color: var(--hc-primary-500); }

/* Seleção */
::selection{ background: var(--hc-primary); color:#fff; }

/* =====================================================================
   SCROLLBAR
   ===================================================================== */
*{ scrollbar-width: thin; scrollbar-color: var(--hc-primary) transparent; }
*::-webkit-scrollbar{ width: 8px; height: 8px; }
*::-webkit-scrollbar-track{ background: transparent; }
*::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--hc-primary), var(--hc-primary-800));
  border-radius: 8px;
}
*::-webkit-scrollbar-thumb:hover{ background: var(--hc-primary-500); }

/* =====================================================================
   SIDEBAR
   ===================================================================== */
.sidebar{
  width: 260px !important;
  background: linear-gradient(180deg, #131315 0%, #0F0F10 100%) !important;
  color: var(--hc-text) !important;
  border-right: 1px solid var(--hc-line) !important;
  box-shadow: 0 0 30px rgba(0,0,0,.4);
  padding-bottom: 16px;
}
.sidebar-header{
  padding: 22px 18px !important;
  border-bottom: 1px solid var(--hc-line) !important;
  display: flex; justify-content: center !important;
  align-items: center; gap: 8px;
  background: transparent !important;
}
.sidebar-header > div{ justify-content:center !important; width:100%; }
.sidebar-header img{ filter: drop-shadow(0 4px 12px rgba(193,18,31,.35)); max-width: 140px; height:auto; }
.sidebar .close-btn{ color: var(--hc-text-muted) !important; }

.sidebar ul{ padding: 14px 10px !important; }
.sidebar ul li{ margin: 2px 0; }
.sidebar ul li a{
  display:flex; align-items:center; gap:12px;
  padding: 11px 14px !important;
  color: var(--hc-text-muted) !important;
  border-radius: 12px !important;
  font-size: .92rem; font-weight: 500;
  transition: all var(--hc-trans) !important;
  position: relative;
}
.sidebar ul li a i{
  width: 22px !important; margin-right: 0 !important;
  font-size: 1rem; text-align:center;
  color: var(--hc-text-dim);
  transition: color var(--hc-trans);
}
.sidebar ul li a:hover{
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  transform: translateX(2px);
}
.sidebar ul li a:hover i{ color: var(--hc-primary-400); }
.sidebar ul li a.active{
  background: linear-gradient(135deg, var(--hc-primary), var(--hc-primary-800)) !important;
  color: #fff !important;
  box-shadow: var(--hc-shadow-red);
}
.sidebar ul li a.active i{ color:#fff !important; }
.sidebar ul li a.active::before{
  content:''; position:absolute; left:-10px; top:8px; bottom:8px; width:3px;
  border-radius: 0 4px 4px 0; background: var(--hc-primary-400);
  box-shadow: 0 0 12px var(--hc-primary-glow);
}

/* Separador discreto antes do "Sair" */
.sidebar ul li:last-child{ margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--hc-line); }

/* Botão "Instalar App" */
#install-btn{
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  color:#fff !important; border-radius: 12px !important;
}

/* =====================================================================
   MAIN CONTENT + HEADER / TOPBAR
   ===================================================================== */
.main-content{
  margin-left: 260px !important;
  width: calc(100% - 260px) !important;
  padding: 22px !important;
  background: transparent !important;
}
@media (max-width: 768px){
  .main-content{ margin-left:0 !important; width:100% !important; padding:14px !important; }
  .sidebar{ left:-280px !important; }
  .sidebar.active{ left:0 !important; }
}

.header{
  background: rgba(27,27,29,.65) !important;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-radius-lg) !important;
  padding: 14px 20px !important;
  box-shadow: var(--hc-shadow-sm) !important;
  margin-bottom: 22px !important;
  color: var(--hc-text) !important;
}
.header *{ color: var(--hc-text) !important; }
.menu-toggle{ color: var(--hc-text) !important; }
.theme-toggle{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 10px; padding: 8px 12px; color: var(--hc-text-muted) !important;
  transition: all var(--hc-trans);
}
.theme-toggle:hover{ background: rgba(255,255,255,.08) !important; color:#fff !important; }

/* =====================================================================
   CARDS — Estatísticas
   ===================================================================== */
.card, .card-stat, .stat-card, .content-card, .info-box,
.vencimento-block, .results-box, .table-container, .modal-content,
.profile-section, .ranking-container, .ranking-item, .client-card,
.preview-section, .payment-section, .plano-section, .form-section{
  background: var(--hc-card) !important;
  color: var(--hc-text-soft) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-radius) !important;
  box-shadow: var(--hc-shadow) !important;
  transition: transform var(--hc-trans), border-color var(--hc-trans), box-shadow var(--hc-trans);
}
.card:hover, .card-stat:hover, .stat-card:hover, .content-card:hover,
.client-card:hover, .ranking-item:hover{
  transform: translateY(-2px);
  border-color: var(--hc-line-strong) !important;
  box-shadow: var(--hc-shadow-lg) !important;
}

.grid-cards{ gap: 18px !important; margin-bottom: 22px !important; }

.card-stat{ padding: 18px !important; display:flex; align-items:center; gap:14px; }
.card-stat .icon{
  width: 52px !important; height: 52px !important;
  border-radius: 14px !important;
  display:flex; align-items:center; justify-content:center;
  font-size: 1.35rem !important;
  background: rgba(255,255,255,.04) !important;
  color: var(--hc-text) !important;
}
.card-stat.blue   .icon{ background: rgba(59,130,246,.14)  !important; color:#60a5fa !important; }
.card-stat.green  .icon{ background: rgba(34,197,94,.14)   !important; color:#4ade80 !important; }
.card-stat.red    .icon{ background: rgba(193,18,31,.16)   !important; color: var(--hc-primary-400) !important; }
.card-stat.orange .icon{ background: rgba(249,115,22,.14)  !important; color:#fb923c !important; }
.card-stat.purple .icon{ background: rgba(168,85,247,.14)  !important; color:#c084fc !important; }
.card-stat .info h3{
  font-size: .78rem !important; text-transform: uppercase; letter-spacing:.05em;
  color: var(--hc-text-muted) !important; margin-bottom: 6px !important; font-weight: 500;
}
.card-stat .info p{
  font-size: 1.6rem !important; font-weight: 700 !important;
  color: var(--hc-text) !important; letter-spacing: -.01em;
}

/* Cards financeiros (Projeção / Hoje / Amanhã / Receber) */
.receber, .hoje, .proximos, .vencidos{
  border-left: 3px solid var(--hc-primary) !important;
}
.valor-total{ background: var(--hc-card) !important; border:1px solid var(--hc-line) !important; border-radius: var(--hc-radius) !important; padding: 16px !important; }
.valor-total-label{ color: var(--hc-text-muted) !important; font-size:.8rem !important; text-transform:uppercase; letter-spacing:.05em; }
.valor-total-amount{ color: #4ade80 !important; font-size: 1.7rem !important; font-weight: 700 !important; }

/* Blocos de vencimento */
.vencimento-block{ overflow:hidden; margin-bottom: 22px !important; }
.vencimento-block .block-header,
.vencimento-block > h2,
.vencimento-block > .header,
.vencimento-block > div:first-child{
  background: linear-gradient(135deg, rgba(193,18,31,.18), rgba(139,0,0,.05)) !important;
  color: var(--hc-text) !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--hc-line) !important;
}
.block-content{ padding: 14px 18px !important; background: transparent !important; }
.section-title{ color: var(--hc-text) !important; font-weight:600 !important; letter-spacing:-.01em; }

/* =====================================================================
   TABELAS
   ===================================================================== */
.table-container{ padding: 6px !important; overflow:hidden; }
table{
  width: 100%; border-collapse: separate !important; border-spacing: 0;
  background: transparent !important; color: var(--hc-text-soft) !important;
}
thead th, table th{
  background: #1A1A1C !important;
  color: var(--hc-text-muted) !important;
  font-weight: 600 !important;
  font-size: .78rem !important; text-transform: uppercase; letter-spacing: .06em;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--hc-line) !important;
  text-align: left;
}
tbody td, table td{
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--hc-line) !important;
  color: var(--hc-text-soft) !important;
  font-size: .9rem;
}
tbody tr{ transition: background var(--hc-trans); }
tbody tr:hover{ background: rgba(255,255,255,.03) !important; }
tbody tr:last-child td{ border-bottom: none !important; }

/* Cards mobile (lista alternativa) */
.mobile-cards .client-card{ padding: 14px !important; margin-bottom: 10px; }

/* =====================================================================
   BOTÕES
   ===================================================================== */
button, .btn, .btn-novo, .btn-success, .btn-edit, .btn-del,
.btn-renew, .btn-payment, .btn-profile, .btn-mercadopago,
.btn-ref, .btn-small, .filter-btn, .card-action-btn, .action-btn{
  font-family: inherit !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 12px !important;
  padding: 10px 16px !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  cursor: pointer;
  transition: all var(--hc-trans) !important;
  background: var(--hc-bg-3);
  color: var(--hc-text) !important;
  display: inline-flex; align-items:center; gap:8px;
  line-height: 1.1;
}
button:hover, .btn:hover{ background: var(--hc-card-hover) !important; transform: translateY(-1px); }
button:active, .btn:active{ transform: translateY(0); }

.btn-novo, .btn-success{
  background: linear-gradient(135deg, var(--hc-primary), var(--hc-primary-800)) !important;
  border-color: transparent !important; color: #fff !important;
  box-shadow: var(--hc-shadow-red);
}
.btn-novo:hover, .btn-success:hover{
  background: linear-gradient(135deg, var(--hc-primary-500), var(--hc-primary)) !important;
  box-shadow: 0 10px 30px rgba(193,18,31,.4);
}

.btn-del, .btn-danger{
  background: rgba(193,18,31,.12) !important;
  color: var(--hc-primary-400) !important;
  border-color: rgba(193,18,31,.35) !important;
}
.btn-del:hover{ background: rgba(193,18,31,.22) !important; color:#fff !important; }

.btn-edit{
  background: rgba(59,130,246,.12) !important;
  color: #60a5fa !important; border-color: rgba(59,130,246,.3) !important;
}
.btn-edit:hover{ background: rgba(59,130,246,.22) !important; color:#fff !important; }

.btn-renew, .btn-payment{
  background: rgba(34,197,94,.12) !important;
  color: #4ade80 !important; border-color: rgba(34,197,94,.3) !important;
}
.btn-renew:hover, .btn-payment:hover{ background: rgba(34,197,94,.22) !important; color:#fff !important; }

.btn-wa, .btn-wpp, .wpp-opt{
  background: linear-gradient(135deg, #25D366, #128C7E) !important;
  color: #fff !important; border:none !important;
}
.btn-wa:hover, .btn-wpp:hover{ filter: brightness(1.1); }

.btn-mercadopago{
  background: linear-gradient(135deg, #00B1EA, #0093C7) !important;
  color: #fff !important; border:none !important;
}

/* Botões de ação CIRCULARES (Editar / WhatsApp / Atualizar / Visualizar) */
.action-btn, .card-action-btn{
  width: 38px !important; height: 38px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex; align-items:center; justify-content:center;
  font-size: .95rem !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--hc-line) !important;
  color: var(--hc-text-soft) !important;
  position: relative;
}
.action-btn:hover, .card-action-btn:hover{
  background: var(--hc-card-hover) !important;
  border-color: var(--hc-line-strong) !important;
  transform: translateY(-1px) scale(1.05);
}
.action-btn[title]:hover::after, .card-action-btn[title]:hover::after{
  content: attr(title);
  position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  background: #0a0a0b; color:#fff; font-size:.72rem; padding:5px 9px;
  border-radius: 6px; white-space: nowrap; pointer-events:none;
  border: 1px solid var(--hc-line); box-shadow: var(--hc-shadow);
  z-index: 10;
}

.card-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* Botões pequenos */
.btn-small{ padding: 6px 10px !important; font-size: .8rem !important; border-radius: 8px !important; }

/* Filtros */
.filter-btn{
  background: rgba(255,255,255,.03) !important;
  color: var(--hc-text-muted) !important;
  border-radius: 10px !important;
}
.filter-btn:hover{ color:#fff !important; background: rgba(255,255,255,.06) !important; }
.filter-btn.active{
  background: linear-gradient(135deg, var(--hc-primary), var(--hc-primary-800)) !important;
  color:#fff !important; border-color:transparent !important;
  box-shadow: var(--hc-shadow-red);
}

/* =====================================================================
   INPUTS
   ===================================================================== */
input[type=text], input[type=email], input[type=password], input[type=number],
input[type=tel], input[type=date], input[type=search], input[type=url],
select, textarea{
  background: #161618 !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 12px !important;
  padding: 11px 14px !important;
  font-size: .92rem !important;
  font-family: inherit !important;
  width: 100%;
  transition: all var(--hc-trans) !important;
  outline: none;
}
input::placeholder, textarea::placeholder{ color: var(--hc-text-dim) !important; }
input:focus, select:focus, textarea:focus{
  border-color: var(--hc-primary) !important;
  box-shadow: 0 0 0 3px rgba(193,18,31,.18) !important;
  background: #1A1A1C !important;
}

/* Campos de data — força fundo escuro e texto claro em todos os estados */
input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time]{
  background: #161618 !important;
  color: #ffffff !important;
  border-color: var(--hc-line) !important;
  color-scheme: dark;
}
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=month]:focus,
input[type=time]:focus{
  background: #1A1A1C !important;
  color: #ffffff !important;
  border-color: var(--hc-primary) !important;
}
input[type=date]::-webkit-datetime-edit,
input[type=datetime-local]::-webkit-datetime-edit,
input[type=month]::-webkit-datetime-edit,
input[type=time]::-webkit-datetime-edit{
  color: #ffffff !important;
}
input[type=date]::-webkit-calendar-picker-indicator,
input[type=datetime-local]::-webkit-calendar-picker-indicator,
input[type=month]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator{
  filter: invert(1);
  opacity: .8;
  cursor: pointer;
}
input[type=date]::-webkit-calendar-picker-indicator:hover,
input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,
input[type=month]::-webkit-calendar-picker-indicator:hover,
input[type=time]::-webkit-calendar-picker-indicator:hover{
  opacity: 1;
}

/* Firefox / browsers sem webkit indicator */
input[type=date]::-moz-datetime-edit,
input[type=datetime-local]::-moz-datetime-edit,
input[type=month]::-moz-datetime-edit,
input[type=time]::-moz-datetime-edit{
  color: #ffffff !important;
}
select{
  appearance: none; -webkit-appearance:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23B3B3B3' d='M6 8L0 0h12z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px !important;
}
input[type=checkbox], input[type=radio]{ accent-color: var(--hc-primary); }

label{ color: var(--hc-text-muted) !important; font-size:.85rem; font-weight: 500; }
.form-group{ margin-bottom: 14px; }
.form-row{ display:flex; gap:14px; flex-wrap:wrap; }
.form-row > *{ flex: 1 1 200px; }

/* =====================================================================
   BADGES / STATUS
   ===================================================================== */
.badge, .status-badge, .expiry-badge, .card-status-badge, .status{
  display:inline-flex; align-items:center; gap:6px;
  padding: 4px 10px !important; border-radius: 999px !important;
  font-size: .72rem !important; font-weight: 600 !important;
  text-transform: uppercase; letter-spacing: .04em;
  background: rgba(255,255,255,.06); color: var(--hc-text-soft);
  border: 1px solid var(--hc-line);
}
.badge-primary{ background: rgba(193,18,31,.18) !important; color: var(--hc-primary-400) !important; border-color: rgba(193,18,31,.35) !important; }
.status.ativo, .status-badge.ativo, .badge.ativo{ background: rgba(34,197,94,.14) !important; color:#4ade80 !important; border-color: rgba(34,197,94,.3) !important; }
.status.expirado, .status-badge.expirado, .badge.expirado{ background: rgba(193,18,31,.16) !important; color: var(--hc-primary-400) !important; border-color: rgba(193,18,31,.35) !important; }
.status.disabled, .status-badge.disabled{ background: rgba(255,255,255,.06) !important; color: var(--hc-text-muted) !important; }

/* =====================================================================
   ALERTAS
   ===================================================================== */
.alert{
  border-radius: 12px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--hc-line) !important;
  background: var(--hc-card) !important;
  color: var(--hc-text-soft) !important;
}
.alert-success{ background: rgba(34,197,94,.10) !important; border-color: rgba(34,197,94,.3) !important; color:#86efac !important; }
.alert-danger,  .error, .error-message{ background: rgba(193,18,31,.12) !important; border-color: rgba(193,18,31,.35) !important; color:#fca5a5 !important; }
.alert-info{    background: rgba(59,130,246,.10) !important; border-color: rgba(59,130,246,.3) !important; color:#93c5fd !important; }

/* =====================================================================
   MODAIS
   ===================================================================== */
.modal{ background: rgba(0,0,0,.65) !important; backdrop-filter: blur(6px); }
.modal-content{
  background: var(--hc-card) !important;
  color: var(--hc-text) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-radius-lg) !important;
  box-shadow: var(--hc-shadow-lg) !important;
}
.modal-header{
  border-bottom: 1px solid var(--hc-line) !important;
  padding: 16px 20px !important;
  color: var(--hc-text) !important;
}
.close{ color: var(--hc-text-muted) !important; opacity:1 !important; transition: color var(--hc-trans); }
.close:hover{ color:#fff !important; }

/* =====================================================================
   PAGINAÇÃO
   ===================================================================== */
.pagination, .pagination-container{
  display:flex; gap:6px; align-items:center; justify-content:center;
  margin-top: 16px;
}
.pagination a, .pagination span, .pagination-container a, .pagination-container span{
  min-width: 36px; height: 36px; padding: 0 10px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 10px;
  background: var(--hc-card);
  border: 1px solid var(--hc-line);
  color: var(--hc-text-muted);
  font-size: .85rem; font-weight: 500;
  transition: all var(--hc-trans);
}
.pagination a:hover{ color:#fff; background: var(--hc-card-hover); }
.pagination .active, .pagination span.active, .pagination-container .active{
  background: linear-gradient(135deg, var(--hc-primary), var(--hc-primary-800)) !important;
  color:#fff !important; border-color: transparent !important;
}

/* =====================================================================
   LOGIN
   ===================================================================== */
body.login, .login-page, .login-container{
  background: var(--hc-bg-0) !important;
}

/* =====================================================================
   WHATSAPP / RANKING / INDICAÇÕES
   ===================================================================== */
.whatsapp-bubble{
  background: #1F2C24 !important; color: #d1fae5 !important;
  border: 1px solid rgba(34,197,94,.25) !important;
  border-radius: 14px !important; padding: 14px !important;
}
.whatsapp-time{ color: var(--hc-text-dim) !important; }

.ranking-item{ padding: 12px 16px !important; }
.ranking-name{ color: var(--hc-text) !important; font-weight: 600; }
.ranking-count{ color: var(--hc-primary-400) !important; font-weight: 700; }
.medal{ filter: drop-shadow(0 2px 6px rgba(193,18,31,.3)); }

/* =====================================================================
   ANIMAÇÕES sutis
   ===================================================================== */
@keyframes hcFadeIn { from{opacity:0; transform: translateY(4px);} to{opacity:1; transform:none;} }
.card, .card-stat, .vencimento-block, .alert, .modal-content, .table-container{
  animation: hcFadeIn .35s ease both;
}

/* =====================================================================
   AJUSTES FINAIS
   ===================================================================== */
hr{ border: none; border-top: 1px solid var(--hc-line); margin: 16px 0; }
.container{ background: transparent !important; }
img.logo, .logo img, .current-logo img{ filter: drop-shadow(0 4px 14px rgba(193,18,31,.25)); }

/* Garante contraste em qualquer texto perdido em fundo escuro */
.main-content :is(p, span, small, li, label, td, th):not([class*="badge"]):not([class*="status"]):not(.valor-total-amount){
  color: var(--hc-text-soft);
}
.text-muted, .footer-info, small{ color: var(--hc-text-muted) !important; }
