/* Impressão — regra genérica para telas com botão "Imprimir". O resto do
   visual vem do Tailwind (views/partials/head.ejs). */
.only-print { display: none; }
@media print {
    .no-print { display: none; }
    .only-print { display: block; }
}

/* Indicador de conexão no topo (layout.ejs + js/conexao.js). Header é
   sempre grafite, então as cores não mudam com o tema. */
.conexao-chip { display: inline-flex; align-items: center; gap: .45rem; max-width: 18rem; padding: .3rem .7rem; border-radius: 999px;
    font-size: .78rem; font-weight: 500; text-decoration: none; color: #e5e7eb; background: rgba(255,255,255,.08); white-space: nowrap; }
.conexao-chip:hover { background: rgba(255,255,255,.14); color: #fff; }
.conexao-chip .conexao-ponto { width: .55rem; height: .55rem; border-radius: 999px; flex: none; background: #9ca3af; }
.conexao-chip [data-texto] { overflow: hidden; text-overflow: ellipsis; }
.conexao-ok .conexao-ponto { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.25); }
.conexao-aviso .conexao-ponto { background: #facc15; box-shadow: 0 0 0 3px rgba(250,204,21,.25); }
.conexao-aviso { color: #fde68a; }
.conexao-erro .conexao-ponto { background: #f87171; box-shadow: 0 0 0 3px rgba(248,113,113,.25); }
.conexao-erro { color: #fecaca; }
