body { background: #f1f3f6; min-height: 100vh; }
.alert-toast { position: fixed; top: calc(8px + env(safe-area-inset-top)); right: 8px; left: 8px; z-index: 4000; max-width: 480px; margin-left: auto; }
#telaLogin { position: fixed; inset: 0; align-items: center; justify-content: center; padding: 16px; background: #212529; }
#telaLogin form { width: 100%; max-width: 380px; }
.topo { background: #212529; color: #fff; padding: calc(12px + env(safe-area-inset-top)) 0 12px; position: sticky; top: 0; z-index: 100; }
.resumo { background: #fff; border-radius: 12px; padding: 12px 14px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.resumo .numero { font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.empresa { border: 0; border-radius: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.empresa.desativada { opacity: .65; }
.empresa .contagens span { display: inline-flex; align-items: center; gap: 4px; margin-right: 12px; }
.empresa .minha { font-size: .7rem; }
.empresa .acessos span { display: block; }

.bg-teal { background: #0aa2c0; color: #fff; }
.bg-verde { background: #2f8f3a; color: #fff; }
.status-online { display: flex; align-items: center; flex-wrap: wrap; gap: 0 4px; }
.status-online .ponto { width: 9px; height: 9px; border-radius: 50%; background: #adb5bd; display: inline-block; margin-right: 4px; }
.status-online.on .ponto { background: #20c33a; box-shadow: 0 0 0 3px rgba(32,195,58,.2); }
.status-online.on strong { color: #157a28; }
#abasEmpresas .nav-link { background: #fff; color: #212529; }
#abasEmpresas .nav-link.active { background: #212529; color: #fff; }
.menu-tipos .btn { border-radius: 999px; background: #fff; border: 1px solid #dee2e6; color: #212529; }
.menu-tipos .btn.active { background: #212529; border-color: #212529; color: #fff; }
.menu-tipos .btn .badge { background: #e9ecef; color: #212529; }
.menu-tipos .btn.active .badge { background: rgba(255,255,255,.25); color: #fff; }
.titulo-tipo { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-weight: 700; }
.titulo-tipo .linha { flex: 1; height: 1px; background: #dee2e6; }
.bg-roxo { background: #7A4FD6; color: #fff; }
.bg-rosa { background: #D63A7A; color: #fff; }
.sel-fuso { width: auto; max-width: 260px; background-color: rgba(255,255,255,.15); color: #fff; border-color: rgba(255,255,255,.4); }
.sel-fuso option { color: #212529; }
@media (max-width: 575px) { .sel-fuso { max-width: 130px; } }

/* Versão 13: resumo do negócio, plano de cada empresa, etiqueta Beta e suporte */
.resumo-negocio { border: 0; cursor: pointer; }
.resumo-negocio:hover { box-shadow: 0 0 0 2px #21252933; }
.plano-bloco { background: #f8f9fa; border-radius: 10px; padding: 6px 8px; }
.etiqueta-beta { background: #ffc107; color: #212529; }
#abasEmpresas .nav-link .badge.bg-danger:empty { display: none; }
/* Versão 14: tabela de pessoas do cartão */
.empresa .tabela-pessoas th { font-weight: 600; color: #6c757d; font-size: .75rem; padding: .15rem .3rem; }
.empresa .tabela-pessoas td { padding: .15rem .3rem; }
