:root{--fundo:#0b1a33;--painel:#13233f;--painel2:#182b4d;--borda:#22385f;--texto:#dfe7f5;--suave:#8fa3c4;
--azul:#1167d8;--verde:#22b14c;--cinza:#4b5563;--laranja:#f5a623;--vermelho:#e5484d;--amarelo:#f2c94c}
body{background:radial-gradient(1200px 600px at 70% -10%,#16335f 0,transparent 60%),linear-gradient(180deg,#0b1a33,#081327);
min-height:100vh;color:var(--texto);font-size:.92rem}
.navbar{background:#0a1730!important;border-bottom:1px solid var(--borda)}
.navbar .nav-link{color:#e8eefb!important;font-weight:500}
.navbar .nav-link.ativo{color:#fff!important;border-bottom:2px solid var(--azul)}
.cartao{border-radius:8px;overflow:hidden;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.cartao .topo{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;min-height:92px}
.cartao .topo i{font-size:2.6rem;opacity:.95}
.cartao .numero{font-size:2.1rem;font-weight:700;line-height:1}
.cartao .rotulo{font-size:.85rem;opacity:.95;text-align:right}
.cartao .base{background:var(--painel);color:var(--suave);font-size:.78rem;padding:7px 12px;display:flex;justify-content:space-between}
.cartao .base a{color:inherit;text-decoration:none}.cartao .base a:hover{color:#fff}
.c-azul .topo{background:var(--azul)}.c-verde .topo{background:var(--verde)}
.c-cinza .topo{background:var(--cinza)}.c-laranja .topo{background:var(--laranja)}
.painel{background:var(--painel);border:1px solid var(--borda);border-radius:8px;margin-bottom:18px}
.painel>.cab{padding:10px 14px;border-bottom:1px solid var(--borda);font-weight:600;display:flex;justify-content:space-between;align-items:center}
.painel>.corpo{padding:12px 14px}
.table{--bs-table-bg:transparent;--bs-table-color:var(--texto);--bs-table-striped-bg:rgba(255,255,255,.025);
--bs-table-hover-bg:rgba(17,103,216,.12);--bs-table-border-color:var(--borda);margin:0}
.table thead th{color:var(--suave);font-weight:600;font-size:.8rem;white-space:nowrap;background:var(--painel2)}
.filtros{background:rgba(10,23,48,.6);border:1px solid var(--borda);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.filtros label{font-size:.8rem;color:var(--suave);margin-right:4px}
.form-control,.form-select{background-color:#0e1d38;border-color:var(--borda);color:var(--texto);font-size:.85rem}
.form-control:focus,.form-select:focus{background-color:#0e1d38;color:#fff}
.sinal{font-weight:600;font-variant-numeric:tabular-nums}
.sinal.bom{color:#4ade80}.sinal.aviso{color:var(--amarelo)}.sinal.critico{color:var(--vermelho)}.sinal.na{color:var(--suave)}
.barras i{display:inline-block;width:4px;margin-right:1px;background:#33415a;vertical-align:bottom;border-radius:1px}
.barras.bom i.on{background:#4ade80}.barras.aviso i.on{background:var(--amarelo)}.barras.critico i.on{background:var(--vermelho)}
.estado{display:inline-flex;align-items:center;gap:6px;font-size:.82rem}
.estado .bola{width:10px;height:10px;border-radius:50%}
.bola.online{background:#22c55e;box-shadow:0 0 6px #22c55e}.bola.offline{background:#ef4444}.bola.los{background:#ef4444}
.bola.pwrfail{background:#64748b}
.ficha dt{color:var(--suave);font-weight:500;text-align:right;font-size:.85rem}
.ficha dd{margin-bottom:.3rem}
.btn-visualizar{background:var(--azul);color:#fff;border:0;font-size:.8rem;padding:4px 12px}
.btn-visualizar:hover{background:#0d58bb;color:#fff}
.barra-pon{height:6px;background:#2a3b5c;border-radius:3px;overflow:hidden}
.barra-pon span{display:block;height:100%;background:var(--verde)}
.mini{font-size:.75rem;color:var(--suave)}
a{color:#6ea8ff}
.pill{background:#0e1d38;border:1px solid var(--borda);border-radius:20px;padding:2px 10px;font-size:.78rem}
@media (max-width:768px){.ficha dt{text-align:left}}
