:root{--indigo:#120076;--azul:#0057DF;--marinho:#0F2A45;--cinza-marca:#A0A0A0;--claro:#EEF3FD;--tinta:#0A0A0A;--cinza:#5A5A66;--linha:#D5DBE8;--ok:#0E7A3E;--erro:#B42318;--fundo:#F7F8FB}
*{box-sizing:border-box}
body{margin:0;font:16px/1.45 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;color:var(--tinta);background:var(--fundo)}
a{color:var(--azul)}
header{background:var(--indigo);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
header .marca{font-weight:700;letter-spacing:.3px}
header .marca span{color:#7FB0FF}
header nav{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}
header nav a{color:#fff;text-decoration:none;opacity:.85}
header nav a.ativo{opacity:1;border-bottom:2px solid #7FB0FF}
header form{margin-left:auto}
main{max-width:980px;margin:0 auto;padding:16px}
main.estreito{max-width:480px}
h1{font-size:22px;margin:8px 0 12px;color:var(--indigo)}
h2{font-size:17px;margin:20px 0 8px;color:var(--azul)}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:16px;margin:12px 0}
.planos{display:grid;gap:10px}
.plano{display:flex;align-items:center;gap:12px;border:1px solid var(--linha);border-radius:10px;padding:12px;background:#fff;cursor:pointer}
.plano input{transform:scale(1.3)}
.plano b{display:block;font-size:17px}
.plano .preco{margin-left:auto;font-weight:700;color:var(--indigo);white-space:nowrap}
label{display:block;font-size:14px;color:var(--cinza);margin:10px 0 4px}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=datetime-local],input[type=date],input[type=search],select{width:100%;padding:11px 12px;border:1px solid var(--linha);border-radius:8px;font-size:16px;background:#fff}
button,.botao{display:inline-block;background:var(--azul);color:#fff;border:0;border-radius:8px;padding:12px 16px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;text-align:center}
button.largo{width:100%;margin-top:14px}
button.sec,.botao.sec{background:#fff;color:var(--azul);border:1px solid var(--azul)}
button.peq,.botao.peq{padding:6px 10px;font-size:13px}
.msg{padding:12px;border-radius:8px;margin:10px 0}
.msg.ok{background:#E7F6EC;color:var(--ok)}
.msg.erro{background:#FDECEA;color:var(--erro)}
.msg.info{background:var(--claro);color:var(--indigo)}
.grande{font-size:28px;font-weight:700;color:var(--indigo)}
.ref{font-family:ui-monospace,Consolas,monospace;font-size:22px;letter-spacing:2px;background:var(--claro);padding:8px 12px;border-radius:8px;display:inline-block}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kpi{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px}
.kpi b{display:block;font-size:24px;color:var(--indigo)}
.kpi span{font-size:13px;color:var(--cinza)}
table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
th{background:var(--indigo);color:#fff;text-align:left;padding:8px;font-weight:600}
td{padding:8px;border-bottom:1px solid var(--linha);vertical-align:top}
tr:nth-child(even) td{background:#FAFBFE}
.tabela{overflow-x:auto;border:1px solid var(--linha);border-radius:10px}
.linha{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.linha>*{flex:1 1 160px}
.etq{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;background:var(--claro);color:var(--indigo)}
.etq.pago,.etq.operacao,.etq.ativa,.etq.resolvido{background:#E7F6EC;color:var(--ok)}
.etq.pendente,.etq.prevenda,.etq.montagem,.etq.aberto{background:#FFF4E5;color:#9A5B00}
.etq.falhou,.etq.expirado,.etq.suspenso,.etq.critica,.etq.alta{background:#FDECEA;color:var(--erro)}
.barra{height:8px;background:var(--linha);border-radius:99px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--azul)}
small,.mudo{color:var(--cinza)}
details{margin:10px 0}
summary{cursor:pointer;color:var(--azul);font-weight:600}
footer{text-align:center;color:var(--cinza);font-size:12px;padding:20px}
.subnav{background:#fff;border-bottom:1px solid var(--linha);padding:8px 16px;display:flex;gap:16px;flex-wrap:wrap;font-size:14px}
.subnav a{text-decoration:none;color:var(--cinza);padding:2px 0}
.subnav a.ativo{color:var(--indigo);font-weight:600;border-bottom:2px solid var(--azul)}
.portais{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.portais a{display:block;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:16px;text-decoration:none;color:var(--tinta)}
.portais a b{display:block;color:var(--indigo);font-size:18px;margin-bottom:4px}
.portais a:hover{border-color:var(--azul)}
.disp{border-top:1px solid var(--linha);padding:12px 0}
.disp:first-of-type{border-top:0}
.disp .cab{display:flex;justify-content:space-between;align-items:center;gap:8px}
.disp .cab b{font-size:16px}
.disp .acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.disp .acoes form{margin:0}
.ponto{display:inline-block;width:9px;height:9px;border-radius:50%;background:#B8BFCC;margin-right:6px}
.ponto.on{background:var(--ok)}
.etq.online,.etq.em.uso,.etq.concluido,.etq.aprovada,.etq.fechada{background:#E7F6EC;color:var(--ok)}
.etq.bloqueado,.etq.recusada,.etq.reembolsado,.etq.expirado{background:#FDECEA;color:var(--erro)}
.etq.pendente_aprovacao,.etq.por.usar,.etq.aberta,.etq.atribuida,.etq.em_curso{background:#FFF4E5;color:#9A5B00}
.codigo{font-family:ui-monospace,Consolas,monospace;font-size:26px;letter-spacing:3px;color:var(--indigo);background:var(--claro);padding:10px 14px;border-radius:10px;display:inline-block}
.grelha2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.check{display:flex;gap:8px;align-items:flex-start;margin:8px 0;color:var(--tinta);font-size:15px}
.check input{margin-top:4px;transform:scale(1.2)}
.total{display:flex;justify-content:space-between;font-size:18px;font-weight:700;color:var(--indigo);border-top:2px solid var(--indigo);padding-top:8px;margin-top:8px}
.recibo{max-width:420px;margin:0 auto;background:#fff;border:1px dashed var(--cinza);padding:20px;border-radius:8px}
@media print{header,.subnav,footer,.naoimprimir{display:none!important}body{background:#fff}.recibo{border:0}}

/* ===================== Consola da equipa (estilo de consola de rede) ===================== */
.consola{--cb:#0F2A45;--cb2:#1B3B5E;--fundo-c:#F2F4F7;--linha-c:#D8DDE5;--texto-c:#0A0A0A;--mudo-c:#5B6676;--prim:#0057DF;--prim2:#0045B3;--ok-c:#1E7B3C;--aviso-c:#A86400;--erro-c:#BF3328;
  background:var(--fundo-c);color:var(--texto-c);font:14px/1.45 "Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.consola a{color:var(--prim)}
.consola a.botao{color:#fff}
.consola a.botao.sec{color:var(--texto-c)}
.consola :focus-visible{outline:2px solid var(--prim);outline-offset:2px}
/* barra superior */
.consola header.cb{background:var(--cb);height:52px;padding:0 12px 0 0;gap:0;flex-wrap:nowrap;position:sticky;top:0;z-index:20}
.consola header.cb .marca{display:flex;align-items:center;padding:0 18px 0 8px}
.consola header.cb .marca img{height:25px;width:auto;display:block}
.consola header.cb .marca span{color:#7FB0FF;font-weight:600}
.consola .migalha{display:flex;align-items:center;gap:8px;color:#fff;border-left:1px solid #2D4B6E;padding-left:18px;min-width:0;white-space:nowrap;overflow:hidden}
.consola .migalha span{color:#A9B6CC}
.consola .migalha span::after{content:"›";margin-left:8px;color:#6E7F9E}
.consola .migalha b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.consola .ferr{margin-left:auto;display:flex;align-items:center;gap:6px}
.consola header.cb details{position:relative}
.consola header.cb summary{list-style:none;cursor:pointer;color:#fff;height:52px;display:flex;align-items:center;padding:0 12px}
.consola header.cb summary::-webkit-details-marker{display:none}
.consola header.cb summary:hover,.consola header.cb details[open]>summary{background:var(--cb2)}
/* menu ☰ */
.consola .menu>summary{width:52px;justify-content:center;padding:0}
.consola .hamb,.consola .hamb::before,.consola .hamb::after{display:block;width:18px;height:2px;background:#fff;position:relative;content:""}
.consola .hamb::before{position:absolute;top:-6px}.consola .hamb::after{position:absolute;top:6px}
.consola .painel-menu{position:fixed;left:0;top:52px;width:min(980px,100vw);max-height:calc(100vh - 52px);overflow:auto;background:#fff;border-right:1px solid var(--linha-c);border-bottom:1px solid var(--linha-c);
  box-shadow:0 12px 28px rgba(14,26,51,.18);display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 8px;padding:18px 20px}
.consola .painel-menu .grupo{padding:6px 8px 12px;border-left:3px solid transparent}
.consola .painel-menu .grupo.ativo{border-left-color:var(--prim);background:#F5F8FD}
.consola .painel-menu b{display:block;font-size:13px;color:var(--mudo-c);font-weight:600;margin-bottom:6px}
.consola .painel-menu a{display:block;padding:5px 0;color:var(--texto-c);text-decoration:none}
.consola .painel-menu a:hover,.consola .painel-menu a[aria-current]{color:var(--prim)}
/* pesquisa, alertas, conta */
.consola .procura input[type=search]{width:290px;height:34px;border-radius:4px;border:1px solid #2D4B6E;background:var(--cb2);color:#fff;font-size:13px;padding:0 10px 0 32px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23A9B6CC' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l4 4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center}
.consola .procura input[type=search]::placeholder{color:#A9B6CC}
.consola .alertas>summary{width:46px;justify-content:center;padding:0;position:relative;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23fff' stroke-width='1.7'%3E%3Cpath d='M5 14V9a5 5 0 0110 0v5l1.5 2h-13z'/%3E%3Cpath d='M8 18a2 2 0 004 0'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.consola .alertas i{position:absolute;top:9px;right:6px;background:var(--erro-c);color:#fff;font-style:normal;font-size:11px;font-weight:700;border-radius:9px;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 4px}
.consola .conta>summary::after{content:"";border:5px solid transparent;border-top-color:#A9B6CC;margin:5px 0 0 8px}
.consola .painel-alertas,.consola .painel-conta{position:absolute;right:0;top:52px;width:300px;background:#fff;border:1px solid var(--linha-c);box-shadow:0 12px 28px rgba(14,26,51,.18);padding:8px;color:var(--texto-c)}
.consola .painel-alertas a{display:block;padding:8px;color:var(--texto-c);text-decoration:none;border-bottom:1px solid #EEF1F5}
.consola .painel-alertas a:hover{background:#F5F8FD}
.consola .painel-alertas a b{color:var(--erro-c);margin-right:4px}
.consola .painel-alertas p,.consola .painel-conta p{margin:6px 8px 10px;color:var(--mudo-c)}
.consola .painel-conta button{width:100%}
.consola .aviso-lab{background:var(--erro-c);color:#fff;text-align:center;padding:6px;font-size:13px;font-weight:600}
.aviso-teste,.consola .aviso-teste{background:#B54708;color:#fff;text-align:center;padding:6px 10px;font-size:13px;font-weight:700;letter-spacing:.02em}
/* separadores do portal */
.consola .separadores{background:#fff;border-bottom:1px solid var(--linha-c);display:flex;gap:4px;padding:0 24px;overflow-x:auto}
.consola .separadores a{color:var(--mudo-c);text-decoration:none;padding:13px 14px 11px;border-bottom:3px solid transparent;white-space:nowrap}
.consola .separadores a:hover{color:var(--texto-c)}
.consola .separadores a.ativo{color:var(--texto-c);font-weight:600;border-bottom-color:var(--prim)}
/* área de trabalho */
.consola main{max-width:1320px;padding:20px 24px 32px}
.consola main.estreito{max-width:680px}
.consola h1{font-size:20px;font-weight:600;color:var(--indigo);margin:4px 0 16px}
.consola h2{font-size:15px;font-weight:600;color:var(--texto-c);margin:22px 0 10px}
.consola .cartao{border-radius:4px;border-color:var(--linha-c);padding:16px}
.consola .cartao>h2:first-child{margin:-16px -16px 14px!important;padding:11px 16px;background:#F8F9FB;border-bottom:1px solid var(--linha-c);font-size:14px;border-radius:4px 4px 0 0}
.consola details.cartao>summary{color:var(--texto-c)}
/* faixa de indicadores */
.consola .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:0;background:#fff;border:1px solid var(--linha-c);border-radius:4px;margin-bottom:8px}
.consola .kpi{border:0;border-right:1px solid #E6EAF0;border-radius:0;padding:14px 18px;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px}
.consola .kpi:last-child{border-right:0}
.consola .kpi span{display:block;font-size:12.5px;color:var(--mudo-c)}
.consola .kpi span::first-letter{text-transform:uppercase}
.consola .kpi b{font-size:24px;font-weight:600;color:var(--texto-c)}
/* tabelas */
.consola .tabela{border-radius:4px;border-color:var(--linha-c);background:#fff}
.consola table{font-size:13.5px}
.consola th{background:#EEF1F5;color:var(--texto-c);font-weight:600;border-bottom:1px solid var(--linha-c);padding:9px 10px;white-space:nowrap}
.consola td{padding:9px 10px;border-bottom:1px solid #EEF1F5}
.consola tr:nth-child(even) td{background:#fff}
.consola tbody tr:hover td,.consola tr:hover td{background:#F5F8FD}
.consola .barra-tabela{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--linha-c);border-bottom:0;border-radius:4px 4px 0 0;padding:8px 10px}
.consola .barra-tabela+.tabela{border-radius:0 0 4px 4px}
.consola .barra-tabela input[type=search]{max-width:260px;height:32px;font-size:13px;padding:0 10px 0 30px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%235B6676' stroke-width='2'%3E%3Cpath d='M1 2h12L8.5 7.5V12l-3 1V7.5z'/%3E%3C/svg%3E") no-repeat 9px center}
.consola .barra-tabela span{margin-left:auto;color:var(--mudo-c);font-size:13px;white-space:nowrap}
/* estados: ponto colorido + texto */
.consola .etq{background:none;color:var(--texto-c);padding:0;border-radius:0;font-size:13px;white-space:nowrap}
.consola .etq::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#98A2B3;margin-right:6px;vertical-align:1px}
.consola .etq.pago::before,.consola .etq.operacao::before,.consola .etq.ativa::before,.consola .etq.resolvido::before,.consola .etq.online::before,.consola .etq.concluido::before,.consola .etq.aprovada::before,.consola .etq.fechada::before,.consola .etq.concluida::before{background:var(--ok-c)}
.consola .etq.pendente::before,.consola .etq.prevenda::before,.consola .etq.montagem::before,.consola .etq.aberto::before,.consola .etq.pendente_aprovacao::before,.consola .etq.aberta::before,.consola .etq.atribuida::before,.consola .etq.em_curso::before,.consola .etq.media::before{background:var(--aviso-c)}
.consola .etq.falhou::before,.consola .etq.expirado::before,.consola .etq.suspenso::before,.consola .etq.critica::before,.consola .etq.alta::before,.consola .etq.bloqueado::before,.consola .etq.recusada::before,.consola .etq.reembolsado::before{background:var(--erro-c)}
/* formulários e botões */
.consola label{font-size:13px;color:var(--mudo-c);margin:10px 0 4px}
.consola input[type=text],.consola input[type=tel],.consola input[type=email],.consola input[type=password],.consola input[type=number],.consola input[type=search],.consola input[type=datetime-local],.consola input[type=date],.consola select{
  border-radius:4px;border:1px solid #C5CDD8;font-size:14px;padding:8px 10px;height:36px}
.consola input:focus,.consola select:focus{border-color:var(--prim);outline:2px solid rgba(0,87,223,.25);outline-offset:0}
.consola button,.consola .botao{border-radius:4px;padding:8px 16px;font-size:14px;font-weight:600;background:var(--prim)}
.consola button:hover,.consola .botao:hover{background:var(--prim2)}
.consola button.sec,.consola .botao.sec{background:#fff;color:var(--texto-c);border:1px solid #B9C2CF}
.consola button.sec:hover,.consola .botao.sec:hover{background:#F2F4F7}
.consola button.peq,.consola .botao.peq{padding:5px 10px;font-size:13px}
.consola button[disabled]{background:#B9C2CF;cursor:not-allowed}
.consola .msg{border-radius:4px;border-left:4px solid currentColor;padding:10px 12px}
.consola .msg.info{background:#EEF4FE;color:#123E86}
.consola .msg.ok{background:#EAF5EE}
.consola .msg.erro{background:#FCEDEC}
/* início: portais */
.consola .portais a{border-radius:4px;border-left:4px solid var(--prim);padding:14px 16px}
.consola .portais a b{color:var(--texto-c);font-size:16px}
.consola .rodape-consola{text-align:left;padding:14px 24px;color:var(--mudo-c);font-size:12px;border-top:1px solid var(--linha-c);background:#fff}
/* entrada da equipa: fundo dinâmico com o padrão da marca */
.consola main.entrada{position:relative;max-width:none;padding:0;min-height:100vh;display:grid;grid-template-columns:1fr minmax(320px,440px);align-items:center;gap:32px;
  background:radial-gradient(120% 90% at 85% 40%,#163A60 0%,#0F2A45 55%,#0B2036 100%);overflow:hidden}
.consola #fundo{position:absolute;inset:0;width:100%;height:100%;display:block}
.consola .entrada-marca,.consola .entrada-form{position:relative;z-index:1}
.consola .entrada-marca{color:#fff;padding:48px 0 48px clamp(24px,7vw,96px);display:flex;flex-direction:column;gap:8px;max-width:560px}
.consola .entrada-marca .logo{width:min(320px,70vw);height:auto;margin-bottom:36px}
.consola .entrada-marca h1{color:#fff;font-size:34px;margin:0 0 4px;font-weight:600;letter-spacing:-.2px}
.consola .entrada-marca p{color:#D3DEEE;max-width:420px;margin:0;font-size:15px}
.consola .entrada-marca .nota{margin-top:24px;font-size:12.5px;color:#9FB2CC}
.consola .entrada-form{padding:32px clamp(20px,5vw,72px) 32px 0}
.consola .cartao-entrada{background:#fff;border-radius:6px;padding:28px 28px 30px;box-shadow:0 24px 60px rgba(4,14,28,.45);border-top:4px solid var(--azul)}
.consola .entrada-form h2{font-size:20px;margin:0 0 12px;color:var(--indigo)}
.consola .chave{font-size:15px;letter-spacing:1px;word-break:break-all}
@media (max-width:860px){
  .consola .procura{display:none}
  .consola .migalha span{display:none}
  .consola main.entrada{grid-template-columns:1fr;gap:0;align-content:start}
  .consola .entrada-marca{padding:32px 20px 8px}
  .consola .entrada-marca .logo{margin-bottom:20px}
  .consola .entrada-marca h1{font-size:26px}
  .consola .entrada-form{padding:16px 16px 32px}
  .consola main{padding:16px}
}
@media print{.consola header.cb,.consola .separadores,.consola .rodape-consola,.consola .barra-tabela{display:none!important}}
.consola label.check{color:var(--texto-c);font-size:14px}

/* logótipo no cabeçalho público e campo de ficheiro em português */
header .marca img{height:23px;width:auto;display:block}
.ficheiro{display:flex;align-items:center;gap:10px;margin:4px 0 0;color:var(--cinza);cursor:pointer}
.ficheiro input{position:absolute;width:1px;height:1px;opacity:0}
.ficheiro .botao-sec{border:1px solid #B9C2CF;border-radius:4px;padding:6px 12px;background:#fff;color:var(--tinta);font-size:14px}
.ficheiro input:focus-visible+.botao-sec{outline:2px solid var(--azul);outline-offset:2px}
.ficheiro em{font-style:normal;font-size:13px}

/* 2FA: código QR */
.qr-2fa{background:#fff;border:1px solid #dfe3ea;border-radius:8px;padding:8px;width:200px;height:200px;margin:8px auto 12px}
.qr-2fa svg{width:100%;height:100%;display:block}
.passos-2fa{padding-left:20px;margin:0 0 4px}.passos-2fa li{margin-bottom:4px}
.chave-2fa{margin:4px 0 12px;font-size:14px}.chave-2fa summary{cursor:pointer;color:var(--azul)}
.chave .ref,.ref.chave{letter-spacing:.06em;word-break:break-all}
/* ---------- portal Rede: gráficos, mapa, rádios ---------- */
.graf{min-height:120px}
.graf-legenda{display:flex;gap:16px;font-size:13px;color:var(--cinza);margin:0 0 6px}
.graf-legenda i,.graf-dica i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.graf-grelha{stroke:#E4E8F0;stroke-width:1}
.graf-eixo{fill:var(--cinza);font-size:11px;font-family:inherit}
.graf-guia{stroke:#9AA3B5;stroke-width:1;stroke-dasharray:3 3}
.graf-dica{display:none;position:absolute;pointer-events:none;background:#fff;border:1px solid var(--linha);border-radius:8px;padding:6px 10px;font-size:12px;box-shadow:0 4px 14px rgba(15,42,69,.12);white-space:nowrap;z-index:5}
.graf-dica span{display:block}
#mapa{height:calc(100vh - 260px);min-height:420px;border:1px solid var(--linha);border-radius:12px;background:#EEF1F6}
.mapa-etq-mod{background:transparent;border:0;box-shadow:none;color:#120076;font-weight:700}
.mapa-simples{display:block;background:#F4F6FA;border-radius:12px}
.radios{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.radio-cartao{border:1px solid var(--linha);border-radius:12px;padding:12px;background:#fff}
.radio-cartao h3{margin:0 0 8px;font-size:15px;color:var(--indigo)}
.medidor{height:8px;background:#E4E8F0;border-radius:99px;overflow:hidden;margin:4px 0 8px}
.medidor i{display:block;height:100%;border-radius:99px}
.medidor i.ativa{background:#0E7A3E}.medidor i.pendente{background:#B54708}.medidor i.critica{background:#B42318}
.acoes-linha{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.acoes-linha form{margin:0}
.attr-linha{display:grid;grid-template-columns:minmax(180px,1fr) 2fr auto;gap:6px;margin-bottom:6px}
.etq.media{background:#FFF4E5;color:#B54708}
.alerta-rf{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--linha);padding:8px 0}
.alerta-rf:last-child{border-bottom:0}
/* ---------- portal cativo guiado ---------- */
.portal section{margin:18px 0}
.portal h2{margin:0 0 8px}
.heroi{background:linear-gradient(160deg,var(--indigo),var(--azul));color:#fff;border-radius:16px;padding:20px 18px}
.heroi h1{color:#fff;font-size:26px;line-height:1.2;margin:0 0 6px}
.heroi .sub{margin:0 0 12px;opacity:.92}
.vantagens{list-style:none;padding:0;margin:0 0 14px}
.vantagens li{padding:4px 0 4px 26px;position:relative}
.vantagens li::before{content:"✓";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--indigo);font-size:12px;font-weight:700;text-align:center;line-height:18px}
.acoes-heroi{display:flex;gap:8px;flex-wrap:wrap}
.heroi .botao{background:#fff;color:var(--indigo)}
.heroi .botao.sec{background:transparent;color:#fff;border:1px solid #fff}
.passos{counter-reset:p;list-style:none;padding:0;margin:0;display:grid;gap:8px}
.passos li{counter-increment:p;background:#fff;border:1px solid var(--linha);border-radius:10px;padding:10px 12px 10px 48px;position:relative}
.passos li::before{content:counter(p);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--azul);color:#fff;font-weight:700;text-align:center;line-height:26px}
.plano.destaque{border:2px solid var(--azul)}
.selo{font-style:normal;font-size:11px;background:var(--azul);color:#fff;border-radius:99px;padding:2px 8px;vertical-align:2px}
.plano .preco small{display:block;font-size:12px;font-weight:400;color:var(--cinza);text-align:right}
.plano small{display:block;color:var(--cinza)}
.metodos{display:grid;gap:8px}
.metodo{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
.metodo input{margin-top:4px;transform:scale(1.2)}
.metodo small{display:block;color:var(--cinza)}
.metodo.info{background:var(--fundo);cursor:default}
.comparacao th:first-child{background:var(--indigo)}
.comparacao td:nth-child(2){color:var(--indigo)}
.conta-info{border-left:4px solid var(--azul)}
.url{font-family:ui-monospace,Consolas,monospace;word-break:break-all;color:var(--indigo)}
.faq{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;margin:6px 0}
.faq summary{font-weight:600;cursor:pointer}
.faq p{margin:8px 0 0}
.regresso{border:2px solid var(--azul)}
.ligado h1{margin-top:0}
.cartao-acesso{border:2px dashed var(--azul)}
.cartao-acesso dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}
.cartao-acesso dt{color:var(--cinza);font-size:14px}
.cartao-acesso dd{margin:0}
.guia-mac{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin:12px 0}
.guia-mac h3{margin:0 0 4px;font-size:16px;color:var(--indigo)}
.guia-passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.guia-passos ol{margin:4px 0 0;padding-left:20px;font-size:14px}
textarea{width:100%;padding:10px 12px;border:1px solid var(--linha);border-radius:8px;font:inherit;font-size:15px}
/* Minha Navega */
.cab-conta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cab-conta h1{margin-bottom:4px}
.etq.papel{background:#E8EEFC;color:var(--indigo);font-weight:600}
.conta360 .kpis{margin:12px 0}
table.papeis{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}
table.papeis th,table.papeis td{padding:6px 4px;border-bottom:1px solid var(--linha);text-align:center}
table.papeis td:first-child{text-align:left}

/* ===================== Consola v2.5: cabeçalho, rodapé, contraste ===================== */
:root{color-scheme:only light}
.consola{--mudo-c:#4A5568;--linha-c:#D3D9E2;min-height:100vh;display:flex;flex-direction:column}
.consola>.area{flex:1 0 auto;width:100%}
.consola>.area>main{margin-left:auto;margin-right:auto}
.consola .saltar{position:absolute;left:-9999px;top:0;background:#fff;color:var(--prim);padding:8px 12px;z-index:50}
.consola .saltar:focus{left:8px;top:8px}
/* cabeçalho */
.consola header.cb{box-shadow:0 1px 0 #0A1D30}
.consola header.cb .icone{width:44px;height:52px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:0;padding:0;color:#fff;cursor:pointer}
.consola header.cb .icone:hover{background:var(--cb2)}
.consola .btn-procura{display:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='9' cy='9' r='6'/%3E%3Cpath d='M14 14l4 4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important}
.consola .procura{position:relative;margin:0 6px 0 0}
.consola .procura input[type=search]{width:min(340px,30vw);height:36px;border-color:#3A5A80}
.consola .procura input[type=search]:focus{background-color:#fff;color:var(--texto-c);outline:2px solid #7FB0FF;outline-offset:0}
.consola .procura kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font:600 11px/1 ui-monospace,Consolas,monospace;color:#C9D4E5;border:1px solid #4A6A90;border-radius:3px;padding:3px 5px;pointer-events:none}
.consola .procura input:focus+kbd{display:none}
.consola .estado i{width:12px;height:12px;border-radius:50%;background:#2FB45A;box-shadow:0 0 0 3px rgba(47,180,90,.25)}
.consola .estado.aviso i{background:#F0A030;box-shadow:0 0 0 3px rgba(240,160,48,.3)}
.consola .estado.critica i{background:#FF5A4E;box-shadow:0 0 0 3px rgba(255,90,78,.35);animation:pulsar 1.6s infinite}
@keyframes pulsar{50%{box-shadow:0 0 0 6px rgba(255,90,78,.1)}}
.consola .avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2E6BE6;color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.3px;flex:0 0 auto}
.consola .avatar.grande{width:44px;height:44px;font-size:16px}
.consola .conta>summary{gap:8px}
.consola .conta .nome{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.consola .painel-conta{width:320px;padding:0}
.consola .painel-conta .quem{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid #E6EAF0}
.consola .painel-conta .quem p{margin:0;color:var(--texto-c);font-size:13.5px;word-break:break-word}
.consola .painel-conta .quem small{color:var(--mudo-c)}
.consola .painel-conta>a{display:block;padding:10px 14px;color:var(--texto-c);text-decoration:none;border-bottom:1px solid #EEF1F5}
.consola .painel-conta>a:hover{background:#F5F8FD;color:var(--prim)}
.consola .painel-conta form{padding:12px 14px}
.consola .painel-alertas{width:340px;padding:0}
.consola .painel-alertas .titulo-painel{display:block;padding:10px 14px;border-bottom:1px solid #E6EAF0;font-size:13px;color:var(--mudo-c)}
.consola .painel-alertas a{padding:10px 14px}
.consola .painel-menu .grupo.inicio{background:#F7F9FC}
/* separadores com indicação de deslizar no telemóvel */
.consola .separadores{scrollbar-width:thin}
/* rodapé: mesma identidade do cabeçalho */
.consola .rodape-consola{background:var(--cb);color:#D5DEEA;border-top:0;padding:0;margin-top:32px;font-size:13px}
.consola .rodape-consola a{color:#fff;text-decoration:none}
.consola .rodape-consola a:hover{text-decoration:underline}
.consola .rod-cols{max-width:1320px;margin:0 auto;padding:22px 24px 16px;display:grid;grid-template-columns:1.3fr 1.4fr 1fr 1fr;gap:24px}
.consola .rod-cols b{display:block;color:#fff;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.consola .rod-cols p{margin:6px 0;color:#D5DEEA}
.consola .rod-cols small{color:#B8C6D9}
.consola .rod-marca img{display:block;margin-bottom:10px}
.consola .rod-marca .amb{display:inline;text-transform:none;letter-spacing:0;font-size:12px;padding:1px 8px;border-radius:99px;margin:0}
.consola .amb.lab{background:#FFD8A8;color:#5C3300}.consola .amb.prod{background:#B7EBC6;color:#0B4A22}
.consola .rod-portais{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;align-content:start}
.consola .rod-portais b{grid-column:1/-1}
.consola .rod-estado a,.consola .rod-sessao a{display:block;margin:4px 0}
.consola .estado-txt i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2FB45A;margin-right:8px}
.consola .estado-txt.aviso i{background:#F0A030}.consola .estado-txt.critica i{background:#FF5A4E}
.consola .rod-fim{border-top:1px solid #24466B;padding:12px 24px;text-align:center;color:#B8C6D9;font-size:12px}
/* caixas de mensagem: texto escuro e forte sobre fundo claro, com ícone (AAA) */
.consola .msg,.msg{border-left:4px solid;padding:10px 12px 10px 38px;position:relative;font-size:14px;line-height:1.5}
.consola .msg::before,.msg::before{position:absolute;left:12px;top:10px;width:18px;height:18px;border-radius:50%;color:#fff;font:700 12px/18px Arial,sans-serif;text-align:center}
.consola .msg.info,.msg.info{background:#EAF1FD;color:#0B2E66;border-left-color:#0057DF}
.consola .msg.info::before,.msg.info::before{content:"i";background:#0057DF}
.consola .msg.ok,.msg.ok{background:#E6F4EA;color:#0A4220;border-left-color:#1E7B3C}
.consola .msg.ok::before,.msg.ok::before{content:"✓";background:#1E7B3C}
.consola .msg.erro,.msg.erro{background:#FDECEA;color:#6E120B;border-left-color:#BF3328}
.consola .msg.erro::before,.msg.erro::before{content:"!";background:#BF3328}
.msg.aviso{background:#FFF3E0;color:#5C3300;border-left-color:#B86E00}
.msg.aviso::before{content:"!";background:#B86E00}
.msg a{color:inherit;font-weight:600;text-decoration:underline}
.msg code{background:rgba(255,255,255,.7);padding:1px 4px;border-radius:3px}
/* etiquetas fora da consola: fundo + texto escuros de alto contraste */
.etq{color:#0B1F4D}
.etq.pago,.etq.operacao,.etq.ativa,.etq.resolvido,.etq.online,.etq.concluido,.etq.aprovada,.etq.fechada{color:#0A4220}
.etq.pendente,.etq.prevenda,.etq.montagem,.etq.aberto,.etq.pendente_aprovacao,.etq.aberta,.etq.atribuida,.etq.em_curso,.etq.media{color:#5C3300}
.etq.falhou,.etq.expirado,.etq.suspenso,.etq.critica,.etq.alta,.etq.bloqueado,.etq.recusada,.etq.reembolsado{color:#6E120B}
.consola small,.consola .mudo{color:var(--mudo-c)}
/* resultados da pesquisa */
.lista-res{background:#fff;border:1px solid var(--linha-c);border-radius:4px}
.lista-res a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #EEF1F5;text-decoration:none;color:var(--texto-c)}
.lista-res a:last-child{border-bottom:0}
.lista-res a:hover{background:#F5F8FD}
.lista-res a span{color:var(--mudo-c);font-size:13px;text-align:right}
@media (max-width:1000px){.consola .rod-cols{grid-template-columns:1fr 1fr}}
@media (max-width:860px){
  .consola .btn-procura{display:flex!important}
  .consola .procura{display:none;position:fixed;left:0;right:0;top:52px;margin:0;padding:8px 12px;background:var(--cb);z-index:30}
  .consola.procura-aberta .procura{display:block}
  .consola .procura input[type=search]{width:100%}
  .consola .procura kbd{display:none}
  .consola .conta .nome,.consola .conta>summary::after{display:none}
  .consola .migalha{display:none}
  .consola header.cb{padding:0}
  .consola header.cb .marca{padding:0 4px;min-width:0}
  .consola header.cb .marca img{height:20px}
  .consola .menu>summary{width:46px}
  .consola header.cb .icone,.consola .alertas>summary{width:40px}
  .consola .conta>summary{padding:0 8px 0 4px}
  .consola .ferr{gap:0}
  .consola .painel-alertas,.consola .painel-conta{position:fixed;left:8px;right:8px;width:auto;top:56px}
  .consola .rod-cols{grid-template-columns:1fr;gap:16px;padding:18px 16px}
}
/* ---------- mapa da rede v2.5 ---------- */
.consola main.largo-mapa{max-width:1600px}
.cab-pagina h1{margin-bottom:2px}.cab-pagina p{margin:0 0 12px}
.mapa-app{display:grid;grid-template-columns:320px 1fr;gap:12px;height:calc(100vh - 230px);min-height:520px}
.mapa-lista{background:#fff;border:1px solid var(--linha-c,#D3D9E2);border-radius:4px;display:flex;flex-direction:column;min-height:0}
.mapa-lista-cab{padding:10px;border-bottom:1px solid #E6EAF0}
.mapa-lista-cab input{height:34px!important}
.seg{display:flex;margin-top:8px;border:1px solid #B9C2CF;border-radius:4px;overflow:hidden}
.consola .seg button{flex:1;background:#fff;color:var(--texto-c);border:0;border-radius:0;padding:6px 4px;font-size:12.5px;font-weight:600;border-right:1px solid #B9C2CF}
.consola .seg button:last-child{border-right:0}
.consola .seg button.ativo{background:var(--cb);color:#fff}
.mapa-aps{overflow:auto;flex:1;min-height:0}
.linha-ap{display:flex;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #EEF1F5;cursor:pointer}
.linha-ap:hover{background:#F5F8FD}.linha-ap.sel{background:#EAF1FD;box-shadow:inset 3px 0 0 var(--prim)}
.linha-ap>div{flex:1;min-width:0}
.linha-ap b{display:block;font-size:13.5px}
.linha-ap small{display:block;font-size:12px;color:var(--mudo-c);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sem-pos{font-style:normal;font-size:11.5px;font-weight:600;color:#5C3300;background:#FFE7C2;border-radius:99px;padding:0 7px}
.pt-l{width:12px;height:12px;border-radius:50%;flex:0 0 auto;display:inline-block;background:#1E7B3C;margin-right:6px}
.pt-l.sat{background:#C27803}.pt-l.off{background:#C8322A}.pt-l.mod{border-radius:3px;background:var(--indigo)}
.mapa-modulos{margin:0;border-top:1px solid #E6EAF0;max-height:40%;overflow:auto}
.mapa-modulos summary{padding:10px;color:var(--texto-c)}
.mapa-palco{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}
.mapa-barra{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--linha-c,#D3D9E2);border-bottom:0;border-radius:4px 4px 0 0;padding:6px 10px}
.camadas{display:flex;gap:14px;flex-wrap:wrap}
.consola .camadas label,.consola .interruptor{display:flex;align-items:center;gap:5px;margin:0;color:var(--texto-c);font-size:13px;cursor:pointer}
.acoes-mapa{display:flex;gap:8px;align-items:center}
.consola .acoes-mapa select{height:32px;width:auto;padding:4px 8px;font-size:13px}
.mapa-tela{position:relative;flex:1;overflow:hidden;background:#E9EDF3;border:1px solid var(--linha-c,#D3D9E2);border-radius:0 0 4px 4px;touch-action:none;cursor:grab;user-select:none;outline:none}
.mapa-tela:active{cursor:grabbing}
.mapa-tela:focus-visible{box-shadow:inset 0 0 0 2px var(--prim)}
.a-colocar .mapa-tela{cursor:crosshair}
.mapa-fundo{position:absolute;inset:0}
.mapa-fundo img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none}
.mapa-fundo.sem{background-color:#EEF1F5;background-image:linear-gradient(#DCE2EA 1px,transparent 1px),linear-gradient(90deg,#DCE2EA 1px,transparent 1px);background-size:40px 40px}
.mapa-svg{position:absolute;inset:0;overflow:visible}
.cob{fill:rgba(0,87,223,.06);stroke:rgba(0,87,223,.45);stroke-width:1}
.cob.cob2{fill:none;stroke:rgba(18,0,118,.35);stroke-dasharray:4 3}
.viz-l{stroke:rgba(90,100,120,.35);stroke-width:1}.viz-l.int{stroke:rgba(200,50,42,.6);stroke-dasharray:3 2}
.viz{fill:#7A8699;stroke:#fff;stroke-width:1.5}.viz.co{fill:#C27803}.viz.int{fill:#C8322A}
.ap{cursor:pointer}
.ap .pt{fill:#1E7B3C;stroke:#fff;stroke-width:2.5}
.ap.sat .pt{fill:#C27803}.ap.off .pt{fill:#C8322A}
.ap .anel{fill:none;opacity:.85}
.ap.sel .pt{stroke:#0B1F4D;stroke-width:3}
.pt-n{fill:#fff;font:700 10px Arial,sans-serif;text-anchor:middle;pointer-events:none}
.pt-t{fill:#0B1F4D;font:600 12px Arial,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}
.a-editar .ap,.a-editar .mod{cursor:move}
.mod-q{fill:var(--indigo,#120076);stroke:#fff;stroke-width:2}
.mod-t{fill:#120076;font:700 12.5px Arial,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3.5px}
.zoom{position:absolute;right:10px;top:10px;z-index:3;display:flex;flex-direction:column;box-shadow:0 1px 4px rgba(0,0,0,.25);border-radius:4px;overflow:hidden}
.consola .zoom button{width:34px;height:34px;padding:0;border-radius:0;background:#fff;color:#0B1F4D;font-size:20px;line-height:1;border-bottom:1px solid #D3D9E2}
.consola .zoom button:hover{background:#F2F4F7}
.legenda{position:absolute;left:10px;bottom:24px;z-index:3;background:rgba(255,255,255,.95);border:1px solid #D3D9E2;border-radius:4px;padding:6px 10px;font-size:12px;color:#1D2939;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 80px)}
.legenda i{display:inline-block;vertical-align:-1px;margin-right:5px}
.legenda .p{width:10px;height:10px;border-radius:50%;background:#1E7B3C}.legenda .p.sat{background:#C27803}.legenda .p.off{background:#C8322A}
.legenda .anel{width:12px;height:12px;border-radius:50%;border:3px solid #C27803}
.legenda .viz{width:8px;height:8px;border-radius:50%;background:#7A8699}.legenda .viz.int{background:#C8322A}
.atrib{position:absolute;right:0;bottom:0;z-index:3;background:rgba(255,255,255,.85);font-size:11px;padding:1px 6px;color:#333}
.atrib a{color:#0B3B8C}
.mapa-modo{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:4;background:#0F2A45;color:#fff;border-radius:4px;padding:8px 12px;font-size:13.5px;box-shadow:0 4px 14px rgba(0,0,0,.25);max-width:calc(100% - 80px)}
.mapa-modo b{color:#fff}
.consola .mapa-modo button{margin-left:6px}
.consola .mapa-modo button.sec{background:transparent;color:#fff;border-color:#8FA6C4}
.mapa-info{position:absolute;right:10px;top:132px;z-index:5;width:min(380px,calc(100% - 20px));max-height:calc(100% - 110px);overflow:auto;background:#fff;border:1px solid #D3D9E2;border-radius:4px;box-shadow:0 8px 24px rgba(14,26,51,.2);padding:12px 14px}
.mapa-info h3{margin:0 24px 2px 0;font-size:16px;display:flex;align-items:center;color:var(--texto-c)}
.mapa-info h4{font-size:13px;margin:12px 0 4px}
.mapa-info p{margin:0 0 8px;font-size:12.5px}
.consola .mapa-info .fechar{position:absolute;right:6px;top:6px;width:28px;height:28px;padding:0;background:#fff;color:#344054;font-size:20px;border:0}
.mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}
.mini-kpis div{background:#F5F7FA;border-radius:4px;padding:6px}.mini-kpis b{display:block;font-size:16px}.mini-kpis span{font-size:11.5px;color:var(--mudo-c)}
.t-mini{font-size:12.5px!important}.consola .t-mini th,.consola .t-mini td{padding:4px 6px}
.viz-lista{list-style:none;margin:0;padding:0;font-size:12.5px}
.viz-lista li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid #EEF1F5}
.txt-erro{color:#B42318}.txt-aviso{color:#8A4B00}
.vazio{padding:12px}
.nota-mapa{margin-top:8px}
@media (max-width:860px){
  .mapa-app{grid-template-columns:1fr;height:auto}
  .mapa-lista{max-height:300px}
  .mapa-palco{height:70vh}
  .mapa-info{position:static;width:auto;max-height:none;margin-top:8px}
  .legenda{bottom:20px;font-size:11px}
}
.cob,.viz-l{pointer-events:none}
.ap:focus{outline:none}.ap:focus-visible .pt{stroke:#0B1F4D;stroke-width:3}
/* ---------- estado da plataforma / diagramas ---------- */
.diag-caixa{position:relative;overflow-x:auto;background:#fff;border:1px solid var(--linha-c,#D3D9E2);border-radius:4px;padding:8px}
#diagrama{display:block}
.diag-caixa-no{fill:#fff;stroke-width:2}
.diag-no.centro .diag-caixa-no{fill:#0F2A45}
.diag-no.centro .diag-t{fill:#fff;font-size:15px}.diag-no.centro .diag-s{fill:#C9D6E8}
.diag-no:hover .diag-caixa-no{fill:#F5F8FD}.diag-no.centro:hover .diag-caixa-no{fill:#1B3B5E}
.diag-t{font:700 13px Arial,sans-serif;fill:#0B1F4D}
.diag-s{font:12px Arial,sans-serif;fill:#344054}
.diag-lat{font:700 11.5px Arial,sans-serif;fill:#0B1F4D}
.diag-lat-f{fill:#fff;stroke-width:1.5}
.diag-leg{position:static;margin-top:6px;max-width:none}
.legenda .p.desc{background:#98A2B3}
.diag-caixa .graf-dica{max-width:260px;white-space:normal}
/* ---------- diagrama AP → dispositivos ---------- */
.filtros-diag{margin-top:12px}
.legenda-sinal{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:#1D2939;margin:4px 0 12px}
.legenda-sinal .s{display:inline-block;width:14px;height:4px;border-radius:2px;vertical-align:3px;margin-right:6px}
.s.excelente,.ramo.excelente{--s:#1E7B3C}.s.bom,.ramo.bom{--s:#4C9A2A}.s.razoavel,.ramo.razoavel{--s:#C27803}.s.fraco,.ramo.fraco{--s:#C8322A}.ramo.desconhecido{--s:#98A2B3}
.legenda-sinal .s{background:var(--s)}.legenda-sinal .s.navega{background:#0057DF}
.arvore{background:#fff;border:1px solid var(--linha-c,#D3D9E2);border-radius:4px;margin:0 0 12px;padding:12px 14px;display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:4px 18px}
.arvore.desligado{background:#FFF7F6}
.arvore-ap{position:relative}
.no-ap{display:flex;gap:8px;align-items:flex-start;background:#0F2A45;color:#fff;border-radius:6px;padding:10px 12px}
.no-ap a{color:#fff;text-decoration:none}.no-ap a:hover{text-decoration:underline}
.no-ap b{display:block;font-size:14.5px}.no-ap small{display:block;color:#C9D6E8;font-size:12px}
.no-ap .pt-l{margin-top:4px;box-shadow:0 0 0 2px #fff}
.ap-dados{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:#344054;margin-top:8px}
.ramos{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid #C5CDD8;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 12px;align-content:start;position:relative}
.ramos::before{content:"";position:absolute;left:-20px;top:22px;width:18px;border-top:2px solid #C5CDD8}
.ramo{position:relative}
.ramo::before{content:"";position:absolute;left:-12px;top:20px;width:12px;border-top:3px solid var(--s,#98A2B3)}
.no-cli{border:1px solid #D3D9E2;border-left:4px solid var(--s,#98A2B3);border-radius:4px;padding:7px 10px;background:#fff}
.ramo.navega .no-cli{box-shadow:inset 0 0 0 1px rgba(0,87,223,.25)}
.cli-cab{display:flex;justify-content:space-between;gap:6px;align-items:baseline;flex-wrap:wrap}
.cli-cab b{font-size:13.5px;color:#0B1F4D}
.dono{font-size:12px;font-weight:600}.dono.sem{color:var(--mudo-c,#4A5568);font-weight:400}
.cli-sinal{display:flex;align-items:center;gap:8px;font-size:12px;color:#1D2939;margin:4px 0}
.barra-s{flex:1;height:6px;background:#E4E8F0;border-radius:3px;overflow:hidden}
.barra-s i{display:block;height:100%;background:var(--s,#98A2B3)}
.no-cli small{display:block;font-size:11.5px;color:var(--mudo-c,#4A5568);word-break:break-all}
.no-cli .trafego{color:#0B1F4D;font-weight:600}
.sem-cli{margin:6px 0 0;padding-left:22px;border-left:2px dashed #C5CDD8}
@media (max-width:860px){.arvore{grid-template-columns:1fr}.ramos{margin-top:8px}}
/* ---------- entrada dos clientes (palavra-passe + SMS) ---------- */
.auth h1{margin-top:4px}
.auth-passos{display:flex;gap:6px;font-size:12px;font-weight:600;color:#4A5568;margin-bottom:6px}
.auth-passos span{flex:1;border-top:4px solid #D3D9E2;padding-top:4px}
.auth-passos .feito{border-color:#1E7B3C;color:#0A4220}.auth-passos .atual{border-color:var(--azul);color:#0B2E66}
.campo-senha{display:flex;gap:6px}
.campo-senha input{flex:1}
button.ver-senha{background:#fff;color:#0B2E66;border:1px solid var(--linha);padding:0 12px;font-size:14px}
.codigo-otp{font-size:26px!important;letter-spacing:8px;text-align:center;font-family:ui-monospace,Consolas,monospace}
.auth-alt{text-align:center;margin:8px 0}
button.ligacao{background:none;border:0;color:var(--azul);text-decoration:underline;font-weight:600;padding:6px}
.so-leitor{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0}
/* entrada da equipa ocupa sempre o ecrã todo (o corpo da consola é uma coluna flexível) */
.consola>main.entrada{width:100%;max-width:none;margin:0;flex:1 0 auto;align-self:stretch}
.consola>main:not(.entrada){width:100%}
/* ---------- otimização de canais ---------- */
.plano-rf h2{margin-top:0}
.ganho-rf{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:4px 0 10px}
.ganho-rf div{display:flex;flex-direction:column}.ganho-rf span{font-size:12px;color:var(--mudo-c,#4A5568)}.ganho-rf b{font-size:22px}
.ganho-rf .seta{font-size:22px;color:#98A2B3}
.ganho-rf .bom b{color:#1E7B3C}.ganho-rf .medio b{color:#8A4B00}
.lista-conf{margin:6px 0 10px;padding-left:20px;font-size:13.5px}
/* ---------- levantamento ---------- */
.lv-estado{display:flex;gap:14px;align-items:center;background:#F5F7FA;border-radius:6px;padding:12px;margin-top:12px}
.lv-sinal{display:flex;align-items:baseline;gap:4px}.lv-sinal b{font-size:40px;line-height:1}.lv-sinal span{color:var(--mudo-c)}
.lv-estado small{display:block}
/* ---------- propagação no mapa ---------- */
.mapa-calor{position:absolute;inset:0;pointer-events:none;opacity:.72}
.prop-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.consola .prop-ctl select{height:32px;width:auto;padding:4px 8px;font-size:13px}
.escala{position:absolute;right:10px;bottom:24px;z-index:3;background:rgba(255,255,255,.95);border:1px solid #D3D9E2;border-radius:4px;padding:6px 8px;font-size:11.5px;color:#1D2939}
.escala .grad{height:10px;width:180px;border-radius:3px;margin:4px 0 2px}
.escala .marcas{display:flex;justify-content:space-between}
.sonda{position:absolute;z-index:4;pointer-events:none;background:#0F2A45;color:#fff;font-size:12px;border-radius:4px;padding:5px 8px;white-space:nowrap;display:none}
.med{stroke:#fff;stroke-width:1}
.calib{font-size:12.5px;margin-top:6px}
.perfil-rf label{margin-top:6px}
.consola .escala{bottom:auto;top:10px;right:56px;max-width:300px}
/* ---------- diagnóstico ---------- */
.veredicto{border-radius:6px;padding:12px 14px;margin:12px 0;border-left:5px solid}
.veredicto.ok{background:#E6F4EA;color:#0A4220;border-color:#1E7B3C}
.veredicto.aviso{background:#FFF3E0;color:#5C3300;border-color:#B86E00}
.veredicto.mau{background:#FDECEA;color:#6E120B;border-color:#BF3328}
.veredicto p{margin:6px 0}.veredicto ul{margin:4px 0 0;padding-left:20px}
.rm-l{stroke:#6B3FA0;stroke-opacity:.75;stroke-linecap:round}
.rm-l.ping{stroke:#C27803}.rm-l.entre{stroke-dasharray:7 5}
.legenda .rm{width:16px;height:3px;background:#6B3FA0;border-radius:2px}
/* vista 3D */
.v3-app{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.v3-palco{min-width:0}
.v3-tela{position:relative;height:min(68vh,640px);min-height:340px;background:#F7F9FC;border:1px solid #D5DCE6;border-radius:8px;overflow:hidden;touch-action:none}
.v3-tela .v3-mapa{position:absolute;inset:0;height:auto}
.v3-ap{background:rgba(255,255,255,.92);color:#0F2A45;border-left:3px solid #0057DF;border-radius:3px;padding:2px 7px;font-size:12px;white-space:nowrap;cursor:pointer;box-shadow:0 1px 4px rgba(15,42,69,.25)}
.v3-ap.off{border-left-color:#8A94A3;color:#5B6574}
.v3-sonda .maplibregl-popup-content{font-size:12.5px;line-height:1.4;color:#0F2A45;padding:7px 10px}
.v3-tela .maplibregl-popup-content{font-size:13px;color:#0F2A45}
.v3-escala{z-index:2}
.v3-tela .sonda{position:absolute;display:none;pointer-events:none;background:#fff;border:1px solid #C9D3E0;border-radius:6px;padding:6px 9px;font-size:12.5px;line-height:1.4;color:#0F2A45;box-shadow:0 3px 10px rgba(15,42,69,.15);max-width:260px;z-index:3}
.v3-escala{position:absolute;left:10px;right:auto;bottom:10px;display:block}
.v3-tela .mapa-modo{position:absolute;left:50%;top:10px;transform:translateX(-50%)}
.v3-tela .mapa-modo:empty{display:none}.v3-tela .mapa-modo{z-index:3}
.v3-lado h2{margin-top:0;font-size:1.05rem}
.v3-meios table{font-size:13px}.v3-meios td,.v3-meios th{padding:5px 6px}
@media (max-width:900px){.v3-app{grid-template-columns:1fr}.v3-tela{height:60vh}}
/* teste de velocidade (Minha Navega) */
.vel-numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;margin-bottom:10px}
.vel-numeros div{background:#F3F6FB;border-radius:6px;padding:8px 4px}
.vel-numeros span{display:block;font-size:12px;color:#475467}
.vel-numeros b{display:block;font-size:1.6rem;color:#120076;line-height:1.2;font-variant-numeric:tabular-nums}
.vel-numeros small{font-size:11px;color:#667085}
.vel-barra{height:6px;background:#E4E9F1;border-radius:3px;overflow:hidden;margin:4px 0 10px}
.vel-barra i{display:block;height:100%;width:0;background:#0057DF;transition:width .3s}
@media (max-width:420px){.vel-numeros{grid-template-columns:repeat(2,1fr)}}
/* planear com relevo */
.pl-app{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;align-items:start}
.pl-lado{background:#fff;border:1px solid #D5DCE6;border-radius:8px;padding:12px;max-height:calc(100vh - 150px);overflow:auto}
.pl-lado .seg{margin-bottom:10px}
.pl-form fieldset{border:1px solid #E4E9F1;border-radius:6px;padding:6px 10px 10px;margin:0 0 8px}
.pl-form legend{font-weight:600;color:#120076;padding:0 4px}
.pl-form select{width:100%}
.pl-form details{margin:6px 0 10px}
.pl-res .kpi b{font-size:1.05rem}
.pl-kpis{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.pl-kpis .kpi{padding:8px 10px}
.pl-kpis .kpi span{font-size:12px}
.pl-tela{height:min(62vh,600px)}
.pl-perfil{margin-top:12px}
.pl-svg text{font-size:11px;fill:#475467}
.pl-svg .pl-ponta{font-size:13px;font-weight:700;fill:#120076}
.pl-grade{stroke:#E4E9F1}
.pl-terreno{fill:#B9A27F;stroke:#7A6448;stroke-width:1}
.pl-efetivo{fill:none;stroke:#7A6448;stroke-dasharray:3 3}
.pl-fresnel{fill:rgba(0,87,223,.12);stroke:rgba(0,87,223,.45);stroke-width:1}
.pl-f60{fill:none;stroke:#C27803;stroke-dasharray:5 3}
.pl-los{fill:none;stroke:#0057DF;stroke-width:2}
.pl-mastro{stroke:#0F2A45;stroke-width:3}
.pl-leg{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#475467;margin-top:4px}
.pl-leg i{display:inline-block;width:16px;height:8px;margin-right:4px;vertical-align:middle;border-radius:2px}
.pl-leg i.t{background:#B9A27F}.pl-leg i.e{border-top:2px dashed #7A6448;height:0}.pl-leg i.l{background:#0057DF;height:3px}.pl-leg i.f{background:rgba(0,87,223,.25)}.pl-leg i.f6{border-top:2px dashed #C27803;height:0}
.pl-marca{width:24px;height:24px;border-radius:50%;background:#120076;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
@media (max-width:900px){.pl-app{grid-template-columns:1fr}.pl-lado{max-height:none}}
/* NOC: equipamentos de rede */
.noc-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.noc-graficos{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.noc-graficos figure{margin:0;background:#fff;border:1px solid #D5DCE6;border-radius:8px;padding:8px}
.noc-graficos figcaption{font-size:13px;font-weight:600;color:#0F2A45;margin-bottom:4px}
.noc-graficos img{width:100%;height:auto;display:block}
.noc-saude{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.noc-saude .cartao{margin:0}.noc-saude h3{margin:0 0 6px;font-size:.95rem;color:#120076}
.noc-saude table{width:100%;font-size:13px}.noc-saude td{padding:3px 4px;border-bottom:1px solid #EEF1F5}
.noc-saude tr.fora td{color:#BF3328;font-weight:600}
.barra-util{height:6px;width:90px;background:#E4E9F1;border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}
.barra-util i{display:block;height:100%;background:#1E7B3C}.barra-util i.aviso{background:#C27803}.barra-util i.mau{background:#BF3328}
tr.sub>td{background:#F7F9FC;padding-top:0}
details.pg summary{cursor:pointer;color:#0057DF;font-size:13px}details.pg img{max-width:520px;margin-top:6px}
.noc-grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:14px;margin-top:14px}
.noc-grelha .cartao{margin:0}.noc-grelha h2{margin-top:0;font-size:1.05rem}
.noc-grelha .noc-largo{grid-column:1/-1}
.noc-lista{width:100%;font-size:13.5px}.noc-lista td{padding:6px 4px;border-bottom:1px solid #EEF1F5;vertical-align:top}
.noc-lista td.ac{text-align:right;white-space:nowrap}
.ok-txt{color:#1E7B3C;font-weight:600}
a.kpi{text-decoration:none;color:inherit}a.kpi:hover{border-color:#0057DF}
@media (max-width:700px){.noc-grelha{grid-template-columns:1fr}}
/* mapa: régua de distâncias (muda com o zoom) e grupos de AP sobrepostos */
.mapa-regua{position:absolute;left:10px;top:10px;z-index:3;background:rgba(255,255,255,.92);border-radius:4px;padding:4px 8px 3px;font:12px Arial,sans-serif;color:#0B1F4D;box-shadow:0 1px 3px rgba(0,0,0,.2);pointer-events:none}
.mapa-regua span{display:block;height:6px;border:2px solid #0B1F4D;border-top:0;margin-bottom:2px}
.mapa-regua b{margin-right:6px}.mapa-regua small{color:#475467}
.ap.grupo .pt{fill:#0057DF;stroke:#fff;stroke-width:3}.ap.grupo.sat .pt{fill:#C27803}.ap.grupo.off .pt{fill:#C8322A}
.ap.grupo{cursor:zoom-in}.ap.grupo .pt-n{font-size:12px}
.pt-v{fill:#475467;font:italic 11px Arial,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
/* tarefas de configuração (envio → aceite → confirmado no AP) */
.tf-topo{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:8px 0 10px}
.tf-estado{flex:1 1 320px;display:flex;align-items:center;gap:10px;background:#EEF4FF;border:1px solid #C7D7FE;border-radius:8px;padding:12px 16px;color:#0B1F4D}
.tf-estado b{font-size:16px}.tf-estado small{color:#475467;margin-left:auto}
.tf-estado.ok{background:#ECFDF3;border-color:#ABEFC6;color:#05603A}.tf-estado.aviso{background:#FFF3E0;border-color:#F5C27A;color:#5C3300}.tf-estado.mau{background:#FEF3F2;border-color:#FDA29B;color:#912018}
.tf-relogio,.tf-conta{background:#fff;border:1px solid #D3D9E2;border-radius:8px;padding:10px 16px;display:flex;flex-direction:column;justify-content:center;min-width:150px}
.tf-relogio span{font-size:12px;color:#475467}.tf-relogio b{font-size:22px;color:#0B1F4D;font-variant-numeric:tabular-nums}
.tf-roda{width:18px;height:18px;border-radius:50%;border:3px solid #C7D7FE;border-top-color:#0057DF;animation:tf-gira .9s linear infinite;flex:none}
@keyframes tf-gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.tf-roda,.tf-p.ativo{animation:none}}
.tf-barra{display:flex;height:10px;border-radius:5px;background:#E4E7EC;overflow:hidden;margin-bottom:14px}
.tf-barra i{display:block;height:100%;transition:width .4s}.tf-barra i.ok{background:#1E7B3C}.tf-barra i.aviso{background:#C27803}.tf-barra i.mau{background:#C8322A}
.tf-passos{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0 0 12px;font-size:12.5px}
.tf-passos li{display:flex;flex-direction:column;max-width:300px}.tf-passos span{color:#475467}
.tf-prog{white-space:nowrap}
.tf-p{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:2px solid #D0D5DD;background:#fff;font-size:12px;font-weight:700;vertical-align:middle;color:#fff}
.tf-p.ok{background:#1E7B3C;border-color:#1E7B3C}.tf-p.mau{background:#C8322A;border-color:#C8322A}
.tf-p.ativo{border-color:#0057DF;border-top-color:transparent;animation:tf-gira .9s linear infinite}
.tf-prog small{margin:0 4px 0 3px;font-size:11px}
.tf-l{display:inline-block;width:10px;height:2px;background:#D0D5DD;vertical-align:middle;margin-right:3px}
.etq.tf-e-confirmado{background:#ECFDF3;color:#05603A}.etq.tf-e-recusado{background:#FEF3F2;color:#912018}.etq.tf-e-sem_confirmacao{background:#FFF3E0;color:#5C3300}
.etq.tf-e-a_enviar,.etq.tf-e-a_confirmar,.etq.tf-e-fila{background:#EEF4FF;color:#1849A9}
.txt-ok{color:#05603A}
.tf-lista{list-style:none;margin:0;padding:0}.tf-lista li{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #EEF1F5;flex-wrap:wrap}
/* área do cliente: passos para ajudar a medir (localização) */
.aj-passos{list-style:none;margin:8px 0 10px;padding:0}
.aj-passos li{display:flex;align-items:center;gap:8px;padding:5px 0;color:#475467}
.aj-passos li small{color:#667085;margin-left:auto}
.aj-passos li>span{width:20px;height:20px;border-radius:50%;border:2px solid #D0D5DD;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}
.aj-passos li.ok{color:#05603A}.aj-passos li.ok>span{background:#1E7B3C;border-color:#1E7B3C}.aj-passos li.ok>span::before{content:"✓"}
.aj-passos li.aviso>span{background:#C27803;border-color:#C27803}.aj-passos li.aviso>span::before{content:"!"}
.aj-passos li.mau{color:#912018}.aj-passos li.mau>span{background:#C8322A;border-color:#C8322A}.aj-passos li.mau>span::before{content:"✕"}
.aj-acao{background:#FFF8EB;border:1px solid #F5C27A;border-radius:8px;padding:10px 12px;margin:6px 0 10px}
.aj-acao p{margin:0 0 8px}.aj-acao input{width:100%;margin-bottom:8px}
.grelha3-https{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grelha3-https textarea{width:100%;margin-top:6px;font:12px ui-monospace,Consolas,monospace}
@media (max-width:900px){.grelha3-https{grid-template-columns:1fr}}
.ap-inst{margin:10px 0 14px}.ap-inst-cab{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lista-subst{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.lista-subst .subst{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #D3D9E2;border-radius:8px;padding:10px 12px;background:#fff}
/* DNS ao vivo */
.dns-graf{position:relative}
.dns-graf-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dns-graf-cab h2{margin:0}
.dns-sel{display:flex;gap:4px}.dns-sel button{padding:6px 12px;font-size:14px}.dns-sel button.ativo{background:var(--azul);color:#fff}
.dns-svg{margin-top:8px;width:100%}.dns-svg svg{display:block}
.dns-grid{stroke:#E6EAF2;stroke-width:1}.dns-eixo{font-size:11px;fill:var(--cinza)}.dns-cruz{stroke:var(--cinza);stroke-width:1;stroke-dasharray:3 3}
.dns-tip{position:absolute;background:#fff;border:1px solid var(--linha);border-radius:8px;padding:8px 10px;font-size:13px;box-shadow:0 4px 14px rgba(15,42,69,.12);pointer-events:none;min-width:150px}
.dns-grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.dns-grelha .cartao{margin:0}
.dns-zonas{grid-column:span 2}@media(max-width:700px){.dns-zonas{grid-column:auto}}
.dns-b{display:grid;grid-template-columns:minmax(120px,48%) 1fr auto;gap:8px;align-items:center;font-size:14px;padding:3px 0}
.dns-b-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dns-b-t{height:8px;background:var(--claro);border-radius:99px;overflow:hidden}.dns-b-t i{display:block;height:100%;background:var(--azul);border-radius:99px}
.dns-b b{font-weight:600;white-space:nowrap}
.dns-feed-ctl{display:flex;gap:8px;align-items:center}.dns-feed-ctl input{width:220px;padding:7px 10px;font-size:14px}.dns-feed-ctl button{padding:7px 12px;font-size:14px}
.dns-feed{font-size:13px}.dns-feed td{padding:5px 8px}.dns-nome{word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace}
.dns-feed-caixa{max-height:560px;overflow:auto}.dns-feed thead th{position:sticky;top:0;background:#fff}
.dns-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.dns-filtros label{font-size:13px;color:var(--cinza);display:flex;flex-direction:column;gap:4px}
.dns-filtros input,.dns-filtros select{padding:8px 10px;font-size:14px}.dns-filtros button{padding:8px 12px;font-size:14px}
.dns-filtro-info{grid-column:1/-1;margin:0;font-size:13px}
.dns-fontes-caixa{max-height:420px;overflow:auto}.dns-fonte.ativo td{background:var(--claro)}
.dns-feed .num{text-align:right;white-space:nowrap}.dns-ip{font-family:ui-monospace,Menlo,Consolas,monospace;white-space:nowrap}
/* Local 3D do AP */
.loc-barra{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:end;position:sticky;top:0;z-index:5}
.loc-grupo{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.loc-grupo label{font-size:13px;color:var(--cinza);display:flex;flex-direction:column;gap:3px}
.loc-grupo input,.loc-grupo select{padding:7px 9px;font-size:14px}
.loc-modos{display:flex;gap:4px;flex-wrap:wrap}.loc-modos button{padding:7px 12px;font-size:14px}.loc-modos button.ativo{background:var(--azul);color:#fff}
.loc-mat{flex-basis:100%;background:var(--claro);border-radius:8px;padding:8px 10px}
.loc-fim{margin-left:auto}.loc-fim button{padding:8px 16px;font-size:14px}
.loc-vistas{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px}
@media(max-width:900px){.loc-vistas{grid-template-columns:1fr}}
.loc-vista{margin:12px 0 0}.loc-vista-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.loc-vista-cab h2{margin:0 0 8px}
.loc-tela{position:relative;border:1px solid var(--linha);border-radius:8px;overflow:hidden;background:#fff;touch-action:none}
.loc-tela canvas{display:block;width:100%;cursor:grab}
.loc-tela3d canvas{height:420px}@media(max-width:900px){.loc-tela3d canvas{height:340px}}
.loc-carrega{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--cinza);font-size:14px;background:rgba(247,248,251,.8)}
.loc-carrega[hidden]{display:none}
.loc-tip{position:absolute;background:#fff;border:1px solid var(--linha);border-radius:8px;padding:6px 9px;font-size:13px;box-shadow:0 4px 14px rgba(15,42,69,.12);pointer-events:none}
.loc-legenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:13px}
.loc-legenda i,.loc-cor{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.loc-clip{font-size:13px;color:var(--cinza);display:flex;align-items:center;gap:6px}.loc-clip input{width:120px}
.loc-passos{padding-left:20px}.loc-passos li{margin:6px 0}
.loc-envio{display:grid;gap:10px}.loc-envio label{font-size:14px;display:flex;flex-direction:column;gap:4px}
.loc-prog{margin-top:4px}
.loc-mat[hidden]{display:none}
.loc-modos button.ativo:hover,.dns-sel button.ativo:hover{background:var(--indigo);color:#fff}
/* Geodados */
.geo-exp{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.geo-fontes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 20px}
.geo-fontes h3{font-size:15px;margin:12px 0 4px}.geo-fontes p{margin:4px 0;font-size:14px}
.loc-envio label[hidden]{display:none}
.loc-prog[hidden],.loc-prog-t[hidden]{display:none}
/* política de privacidade */
.politica h2{margin-top:22px}.politica li{margin:4px 0}
/* Inventário */
.inv-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.inv-filtros label{font-size:13px;color:var(--cinza);display:flex;flex-direction:column;gap:4px}
.inv-filtros input,.inv-filtros select{padding:8px 10px;font-size:14px}
.inv-tab td{vertical-align:top}.inv-acessos{white-space:nowrap}
.inv-ac{display:inline-block;font-size:12px;padding:2px 8px;border:1px solid var(--linha);border-radius:99px;margin:0 3px 3px 0;text-decoration:none;color:var(--tinta);background:#fff}
.inv-ac:hover{border-color:var(--azul);color:var(--azul)}.inv-web{background:var(--claro);color:var(--azul);border-color:#C9D8F6}
.inv-ac-linha{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--linha)}
.inv-ac-linha:last-child{border-bottom:0}.inv-cmd{font-size:13px;background:var(--fundo);padding:2px 6px;border-radius:4px}
.inv-form-ac{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end;margin-top:8px}
.inv-form-ac label{font-size:13px;color:var(--cinza);display:flex;flex-direction:column;gap:3px}.inv-form-ac input,.inv-form-ac select{padding:7px 9px;font-size:14px}
.inv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.inv-tile{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:14px;text-decoration:none;color:var(--tinta)}
.inv-tile:hover{border-color:var(--azul);box-shadow:0 4px 14px rgba(15,42,69,.08)}
.inv-tile code{font-size:12px;color:var(--cinza);word-break:break-all}.inv-tile-cab{font-size:15px}
.inv-dns-nome{color:var(--azul);font-family:ui-monospace,Menlo,Consolas,monospace}

/* ---------- clientes da plataforma (portal do local e painel) ---------- */
.local-cab{display:flex;align-items:center;justify-content:center;min-height:64px;padding:10px 16px;color:#fff}
.local-cab img{max-height:56px;max-width:220px;object-fit:contain}
.local-cab b{font-size:1.2rem;letter-spacing:.01em}
.local-rod{text-align:center;color:#667085;font-size:.8rem;padding:18px 16px 28px}
.local-rod a{color:inherit}
.local-heroi{text-align:center;margin:18px 0 8px}
.local-heroi h1{margin:0 0 6px}
.portal-local .abas{display:flex;gap:4px;border-bottom:1px solid #D0D5DD;margin:12px 0}
.portal-local .abas a{flex:1;text-align:center;padding:10px 6px;border-bottom:3px solid transparent;color:#475467;text-decoration:none;font-weight:600;font-size:.92rem}
.portal-local .aba[hidden]{display:none}
.portal-local label.check{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-weight:400}
.barras-dia{display:flex;align-items:flex-end;gap:4px;height:140px;padding-top:8px}
.barras-dia .bd{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.barras-dia .bd i{display:block;width:100%;min-height:2px;background:#2E6BD8;border-radius:4px 4px 0 0}
.barras-dia .bd small{font-size:.65rem;color:#667085;margin-top:4px;white-space:nowrap}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
.cartoes-wifi{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.cartao-wifi{border:1px dashed #98A2B3;border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;break-inside:avoid;background:#fff}
.cartao-wifi .cw-qr svg{width:120px;height:120px}
.cartao-wifi .cw-cod{font:700 1.4rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.1em}
.cartao-wifi small{font-size:.75rem}
@media print{.cartoes-wifi{grid-template-columns:repeat(3,1fr)}.consola header.cb,.consola .separadores,.rodape-consola,.naoimprimir,.aviso-lab{display:none!important}}
.tab-funcoes td{vertical-align:top;padding-top:8px;padding-bottom:8px}
.tab-funcoes input[type=checkbox]{width:18px;height:18px;margin-top:2px}
.cartao-mesa .cw-mesa{font-size:15px;font-weight:600;color:#334155;margin:4px 0}.cartao-mesa .cw-mesa span{display:block;font-size:44px;line-height:1.05;color:#0F2A44;font-weight:700}.mesa-num{font-size:16px}
.cartao-mesa .cw-mesa span.longo{font-size:22px;overflow-wrap:anywhere}

/* três portais: nome do portal ao lado do logótipo */
.cb .marca-portal{color:#fff;font-weight:600;font-size:13px;letter-spacing:.02em;padding:3px 10px;margin-left:-4px;border-left:1px solid rgba(255,255,255,.35);white-space:nowrap}
@media (max-width:720px){.cb .marca-portal{display:none}}

/* cliente ativo: seletor no topo e barra da área do cliente */
.cb .sel-cliente{display:flex;align-items:center}
.cb .sel-cliente select{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;height:36px;padding:0 30px 0 10px;font-size:13px;max-width:220px}
.cb .sel-cliente select option{color:#0F2A44;background:#fff}
.barra-cliente{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#E8F1FD;border-bottom:1px solid #C9DCF7;padding:8px 24px}
.barra-cliente .nome-cliente{display:flex;flex-direction:column;line-height:1.15;padding-right:14px;border-right:1px solid #C9DCF7}
.barra-cliente .nome-cliente small{font-size:11px;color:#4A5B70;text-transform:uppercase;letter-spacing:.06em}
.barra-cliente .nome-cliente b{color:#120076;font-size:15px}
.barra-cliente .abas-cliente{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.barra-cliente .abas-cliente a{padding:6px 9px;border-radius:6px;color:#0F2A44;text-decoration:none;font-size:13px}
.barra-cliente .abas-cliente a:hover{background:#D6E6FB}
.barra-cliente .abas-cliente a.ativo{background:#0057DF;color:#fff}
.barra-cliente .limpar{background:transparent;border:1px solid #9DB7DA;color:#0F2A44;font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer}
.kpis-recursos a.kpi{text-decoration:none;color:inherit}
.kpis-recursos a.kpi:hover{outline:2px solid #0057DF}
.kpis-recursos .kpi.alerta b{color:#B42318}
.kpis-recursos .kpi b small{font-size:.55em;color:#4A5B70}
@media (max-width:900px){.cb .sel-cliente select{max-width:130px}.barra-cliente{padding:8px 16px}}
/* ---- histórico: filtro de período, gráficos SVG do servidor, distribuições ---- */
.filtro-periodo{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0 14px}
.filtro-periodo label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cinza);margin:0}
.filtro-periodo input[type=date]{padding:6px 8px;font-size:13px;width:auto}
.seg-botoes{display:inline-flex;border:1px solid var(--linha);border-radius:8px;overflow:hidden;background:#fff}
.seg-botoes a{padding:7px 12px;font-size:13px;text-decoration:none;color:var(--tinta);border-right:1px solid var(--linha)}
.seg-botoes a:last-child{border-right:0}
.seg-botoes a.ativo{background:var(--azul);color:#fff;font-weight:600}
svg.graf{width:100%;height:auto;display:block}
.g-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--cinza);margin:6px 0 2px}
.g-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.empilhada{display:flex;height:22px;border-radius:6px;overflow:hidden;background:#EEF1F6;margin:6px 0}
.empilhada i{display:block;height:100%}
.grelha-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.grelha-2>.cartao{margin:0;min-width:0}
.cartao h3{margin:0 0 4px;font-size:15px;color:var(--marinho)}
.cartao .nota{font-size:12.5px;color:var(--cinza);margin:2px 0 8px}
.ancoras{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.ancoras a{font-size:13px;padding:5px 10px;border:1px solid var(--linha);border-radius:999px;text-decoration:none;color:var(--marinho);background:#fff}
.ancoras a:hover{border-color:var(--azul);color:var(--azul)}
.paginacao{display:flex;gap:10px;align-items:center;justify-content:flex-end;font-size:13px;margin:6px 0}
.kpi small{display:block;font-size:12px;color:var(--cinza);margin-top:2px}
.kpi.alerta b{color:var(--erro)}
.kpi.bom b{color:var(--ok)}
.barra-h{display:flex;align-items:center;gap:8px}
.barra-h .b{flex:1;height:8px;background:#EEF1F6;border-radius:4px;overflow:hidden;min-width:60px}
.barra-h .b i{display:block;height:100%;background:var(--azul)}
.barra-h .b i.mau{background:var(--erro)}
.consola .kpi small{order:-1;margin-top:4px}
/* topologia física (Estado da plataforma) */
.topo-caixa{position:relative;overflow:auto;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:8px;max-height:78vh}
.topo-caixa svg{display:block}
.topo-no:focus{outline:none}.topo-no:focus rect:first-child,.topo-no:hover rect:first-child{filter:drop-shadow(0 2px 6px rgba(15,42,69,.18))}
.legenda-topo{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--cinza);margin:4px 0 8px;align-items:center}
.legenda-topo i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.legenda-topo .p.ok{background:#1E7B3C}.legenda-topo .p.off{background:#C8322A}.legenda-topo .p.desc{background:#98A2B3}
.legenda-topo svg{vertical-align:middle;margin-right:5px}

/* roaming: legenda, análise por par e AP planeados */
.escala .leg-roam{list-style:none;margin:6px 0 2px;padding:0;display:grid;gap:2px;min-width:220px}
.escala .leg-roam li{display:flex;align-items:center;gap:6px}
.escala .leg-roam i{width:12px;height:12px;border-radius:2px;flex:none;opacity:.85}
.escala .leg-roam b{margin-left:auto;font-variant-numeric:tabular-nums}
.mapa-info.painel-roam{width:min(430px,calc(100% - 20px))}
.pares-roam{display:grid;gap:8px;margin:10px 0}
.par-roam-c{border:1px solid #DCE3EE;border-left:4px solid #1E7B3C;border-radius:4px;padding:8px 10px;display:grid;gap:3px}
.par-roam-c.buraco{border-left-color:#C8322A}.par-roam-c.fraca{border-left-color:#C9A10E}.par-roam-c.excesso{border-left-color:#7B61FF}.par-roam-c.pingpong{border-left-color:#EA7618}
.par-roam-c p{margin:2px 0;font-size:12.5px}
.par-roam-c small{font-size:11.5px;color:#475467}
.par-cab{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;font-size:13px}
.par-cab .etq{white-space:nowrap;font-size:11px}
.sim-linha{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;padding:4px 0;border-bottom:1px solid #EEF1F5}
.sim-linha span{flex:1 1 180px}
.sim-linha form{margin:0}
.lista-curta{margin:4px 0 8px;padding-left:18px;font-size:12.5px}
.lista-curta li{margin:2px 0}
.ap-virt circle{fill:#fff;stroke:#0057DF;stroke-width:2.5;stroke-dasharray:4 3}
.ap-virt path{stroke:#0057DF;stroke-width:2.5}
.ap-virt text{font-size:12px;font-weight:600;fill:#0F2A45;paint-order:stroke;stroke:#fff;stroke-width:3px}
.par-rot{font-size:11.5px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px}
.par-roam{pointer-events:visibleStroke}
.cartao-roam{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin:12px 0}
.cartao-roam>div:first-child{flex:1 1 320px;min-width:0}
.prop-ctl [hidden]{display:none!important}
.consola .com-roam .escala,.com-roam .escala{right:calc(min(430px, 100% - 20px) + 20px)}
/* catálogo de AP */
.cat-ap td.num,.cat-ap th{white-space:nowrap}
.etq.conf-datasheet,.etq.conf-confirmada{background:#E6F4EA;color:#1E7B3C}
.etq.conf-secundaria{background:#E8F0FE;color:#0B57D0}
.etq.conf-estimada{background:#FFF4E0;color:#9A5B00}
.form-cat fieldset{border:0;padding:0;margin:0;min-width:0}
.grelha-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px}
.grelha-form .larga{grid-column:1/-1}
.grelha-form input,.grelha-form select,.grelha-form textarea{width:100%}
.cat-radios input{width:110px}
.filtros.acoes-linha{flex-wrap:wrap;align-items:center}
.filtros.acoes-linha input,.filtros.acoes-linha select{width:auto;flex:1 1 170px;min-width:0;margin:0}
.filtros.acoes-linha input[type=search]{flex:2 1 240px}
.filtros.acoes-linha button,.filtros.acoes-linha .botao{flex:none}
/* simulador */
.sim-projeto{margin:0 0 12px}
.sim-projeto summary{cursor:pointer}
.sim-projeto .grelha-form{margin-top:10px}
.sim-lado{display:flex;flex-direction:column;gap:10px;overflow:auto}
.sim-painel{display:grid;gap:10px;padding:10px 12px}
.sim-cab{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sim-novo{display:grid;gap:6px}
.sim-novo select,.sim-editor select,.sim-editor input{width:100%;min-width:0}
.sim-lista{display:grid;gap:4px;max-height:220px;overflow:auto}
.sim-painel .sim-item{display:grid;text-align:left;gap:2px;padding:6px 8px;border:1px solid #DCE3EE;border-radius:4px;background:#fff;color:inherit;font:inherit;cursor:pointer}
.sim-painel .sim-item small{color:#5A6B85}
.sim-painel .sim-item:hover{background:#F4F7FC}
.sim-painel .sim-item.sel{border-color:#0057DF;box-shadow:inset 3px 0 0 #0057DF}
.sim-editor{border-top:1px solid #DCE3EE;padding-top:8px;display:grid;gap:4px}
.sim-editor h3{margin:0 0 4px;font-size:15px}
.sim-editor .linha{display:flex;gap:8px;flex-wrap:wrap}
.sim-editor .linha>div{flex:1 1 110px;min-width:0}
.sim-editor label{font-size:12px;color:#475467}
.sim-rede{padding:0 12px 10px}
.sim-rede summary{cursor:pointer;font-weight:600;padding:6px 0}
.ap-virt.sel circle{stroke:#120076;stroke-width:3.5;stroke-dasharray:none}
.ap-virt .setor{fill:rgba(0,87,223,.14);stroke:#0057DF;stroke-width:1.2}
.apagar-inline{display:inline-block}
.apagar-inline summary{list-style:none;cursor:pointer}
.apagar-inline summary::-webkit-details-marker{display:none}
.apagar-inline form{display:flex;gap:6px;align-items:center;margin-top:6px}
.txt-ok{color:#1E7B3C}

/* mapa: geodados, setores e sombra por direção */
.mapa-geo{pointer-events:none}
.g-geo .predio{stroke:#6B5A45;stroke-width:.6;fill-opacity:.78}
.setor-ap{fill:rgba(0,87,223,.13);stroke:#0057DF;stroke-width:1.2;stroke-dasharray:3 2}
.leg-geo{position:absolute;left:10px;top:52px;z-index:3;background:rgba(255,255,255,.94);border:1px solid #D3D9E2;border-radius:4px;padding:5px 8px;font-size:11.5px;color:#1D2939;display:flex;flex-direction:column;gap:3px;max-width:calc(100% - 20px)}
.leg-geo i{display:inline-block;width:11px;height:11px;border-radius:2px;vertical-align:-1px;margin:0 3px 0 6px}
.leg-geo span>i:first-child{margin-left:0}
.leg-geo .grad-rel{width:44px;background:linear-gradient(90deg,#E8EED2,#B5A27B,#704F36)}
.polar-rel{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin:6px 0}
.polar-rel svg{flex:none;background:#F7F9FC;border-radius:50%}
.polar-rel>div{flex:1 1 160px;min-width:0}
.polar-rel i{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px;margin-left:4px}
.polar-n{font-size:9px;fill:#5A6B85;font-weight:700}
/* simulador: dimensionar a área */
.area-plano{fill:rgba(18,0,118,.06);stroke:#120076;stroke-width:2;stroke-dasharray:6 4;pointer-events:none}
.area-plano.a-desenhar{fill:none}
.area-pt{fill:#120076;pointer-events:none}
.sim-plano{border-top:1px solid #DCE3EE;padding-top:8px;display:grid;gap:6px}
.sim-plano summary{cursor:pointer}
.sim-plano .linha{display:flex;gap:8px;flex-wrap:wrap}
.sim-plano .linha>div{flex:1 1 80px;min-width:0}
.sim-plano .linha input,.sim-plano .linha select{width:100%}
.pl-modelos{display:grid;gap:4px}
.pl-mod{display:flex;gap:4px}
.pl-mod select{flex:1;min-width:0}
.pl-res td,.pl-res th{font-size:12px;padding:4px 6px}
.pl-res tr.melhor td{background:#E6F4EA}
/* planear: prédios no mapa e no perfil */
.pl-camadas{position:absolute;left:10px;top:10px;z-index:3;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.94);border:1px solid #D3D9E2;border-radius:4px;padding:4px 8px;font-size:12.5px}
.pl-pred{fill:#A0623A;fill-opacity:.85}
.pl-veg{fill:#2E6E32;fill-opacity:.7}
.pl-leg i.pr{background:#A0623A}
.pl-leg i.vg{background:#2E6E32}
/* Onda cloud */
.cloud-link{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.cloud-link>div:first-child{flex:1 1 320px;min-width:0}
.cloud-link .url{word-break:break-all}
.cloud-qr svg{width:180px;height:180px;display:block}
.instalar video{width:100%;max-height:320px;border-radius:12px;background:#000;object-fit:cover}
.instalar input{width:100%}
.lista-ztp{list-style:none;padding:0;margin:0}
.lista-ztp li{padding:10px 0;border-bottom:1px solid var(--linha)}
.lista-ztp li:last-child{border-bottom:0}
.lista-ztp .so-linha{display:inline}
/* NOC › Segurança */
.filtros-seg{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 12px}
.seg-periodo{display:inline-flex;border:1px solid var(--linha);border-radius:8px;overflow:hidden;background:#fff}
.seg-periodo a{padding:7px 14px;text-decoration:none;color:var(--tinta);font-size:14px;border-right:1px solid var(--linha)}
.seg-periodo a:last-child{border-right:0}
.seg-periodo a.ativo{background:var(--indigo);color:#fff}
.grande-seg{font-size:22px;color:var(--indigo)}
.postura{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}
.postura li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;background:#fff}
.postura .p-ic{flex:0 0 22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}
.postura .p-ok .p-ic{background:#0ca30c}.postura .p-aviso .p-ic{background:#fab219;color:#0b0b0b}.postura .p-mau .p-ic{background:#d03b3b}
.postura .p-rot{font-size:12px;color:var(--cinza)}
.postura .p-link{margin-left:auto;font-size:13px}
.postura li>span:nth-child(2){min-width:0}
.multiplos{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px}
.multiplos .mult{margin:0;padding:12px 14px}
.multiplos .tinta{color:var(--tinta)}
.g-seg{min-height:130px;margin-top:4px}
.top-seg td{vertical-align:middle}
.top-seg .barra-h b{min-width:38px;text-align:right;font-weight:600}
.grelha-seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:12px}
.grelha-seg .cartao{margin:0;min-width:0}
.grelha-int{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.grelha-int>div{min-width:0}
.grelha-seg .cartao{overflow-x:auto}
.top-seg{width:100%}
.top-seg .botao,.t-mini .botao.peq{white-space:nowrap}
.ficha-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
.ficha-dl dt{color:var(--cinza);font-size:13px}
.ficha-dl dd{margin:0;min-width:0}
