html { font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }

html { position: relative; min-height: 100%; }
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  background: #f6f4f8;
}

.gc-navbar { background: #5b2d82; }
.gc-logo-nav { height: 40px; width: auto; max-width: 200px; object-fit: contain; }
.gc-card-header, .table-gc thead { background: #5b2d82; color: #fff; }
.btn-gc { background: #5b2d82; color: #fff; }
.btn-gc:hover { background: #4a246a; color: #fff; }

/* Tema roxo mais claro — Painel e Detalhes do Condomínio */
.gc-page-light .gc-card-header,
.gc-page-light .table-gc thead { background: #9B6FCF; color: #fff; }
.gc-page-light .gc-kpi .fs-3 { color: #9B6FCF; }
.gc-page-light .btn-gc { background: #9B6FCF; color: #fff; }
.gc-page-light .btn-gc:hover { background: #8860B8; color: #fff; }

body > .container-fluid { flex: 1; }
.footer { margin-top: auto; background: #fff; }

.gc-kpi { border: none; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.gc-kpi .fs-3 { color: #5b2d82; }
.gc-kpi.kpi-warn .fs-3 { color: #c97b16; }
.gc-kpi.kpi-danger .fs-3 { color: #b42318; }

.badge-ok { background: #b7e4c7; color: #1b4332; }
.badge-pendente { background: #f8d7da; color: #842029; }
.badge-impl { background: #cfe2ff; color: #084298; }
.badge-na { background: #cfe2ff; color: #084298; }
.badge-profissional { background: #cfe2ff; color: #084298; }
.badge-morador { background: #e0cffc; color: #3d246b; }
.badge-pooh { background: #ffe8cc; color: #7a4a00; }
.badge-enviado { background: #cfe2ff; color: #084298; }
.badge-neutro { background: #e9ecef; color: #495057; }

.venc-mais-mes { background: #6f4e37 !important; color: #fff; }
.venc-hoje { background: #e03131 !important; color: #fff; }
.venc-amanha { background: #f08c00 !important; color: #fff; }
.venc-futuro { background: #2f9e44 !important; color: #fff; }
tr.venc-mais-mes td, tr.venc-hoje td, tr.venc-amanha td, tr.venc-futuro td { color: inherit; }
tr.venc-mais-mes a, tr.venc-hoje a, tr.venc-amanha a, tr.venc-futuro a { color: inherit; }
tr.venc-mais-mes a.btn-gc, tr.venc-hoje a.btn-gc, tr.venc-amanha a.btn-gc, tr.venc-futuro a.btn-gc {
  color: #fff;
}

.gc-page-header { margin-top: 1rem; }
.table thead th { white-space: nowrap; }

.wa-box { max-width: 420px; margin: 0 auto; }
.wa-qr { width: 260px; height: 260px; object-fit: contain; }
.wa-status-ok { color: #2f9e44; }
.wa-status-wait { color: #f08c00; }
.wa-status-off { color: #868e96; }

.busca-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0 0 .375rem .375rem;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    z-index: 1050;
    max-height: 300px;
    overflow-y: auto;
}
.busca-dropdown.show { display: block; }
.busca-dropdown .busca-item {
    display: block;
    padding: .5rem .75rem;
    color: #212529;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
}
.busca-dropdown .busca-item:hover { background: #f6f4f8; }
.busca-dropdown .busca-item small { color: #6c757d; }
.busca-dropdown .busca-vazio { padding: .5rem .75rem; color: #6c757d; }

@media print {
    header, footer, .no-print, .alert { display: none !important; }
    body { background: #fff; }
    .container-fluid { padding: 0 !important; max-width: 100% !important; }
    .table { font-size: 11px; }
    .table-gc { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    a { text-decoration: none; color: inherit; }
}
