/* ==========================================================
 SGW V457 - REDES + INTEGRACOES/OLT + ESTOQUE
 ========================================================== */
html.sgw457-redes,
html.sgw457-integracoes,
html.sgw457-estoque{
  --v457-bg:#020b19;
  --v457-panel:#061a33;
  --v457-panel2:#071f3b;
  --v457-panel3:#0a294b;
  --v457-line:#17466f;
  --v457-line2:#225a86;
  --v457-text:#eaf4ff;
  --v457-muted:#86a4c7;
  --v457-blue:#1677ff;
  --v457-cyan:#23c6e3;
  --v457-green:#19ce7a;
  --v457-red:#ff4f62;
  --v457-amber:#ffb11b;
}

html.sgw457-redes body,
html.sgw457-redes main,
html.sgw457-redes .content-area,
html.sgw457-integracoes body,
html.sgw457-integracoes main,
html.sgw457-integracoes .content-area,
html.sgw457-estoque body,
html.sgw457-estoque main,
html.sgw457-estoque .content-area{
  background:
    radial-gradient(circle at 90% 0,rgba(22,119,255,.08),transparent 28%),
    linear-gradient(180deg,#031024 0%,var(--v457-bg) 100%) !important;
  color:var(--v457-text) !important;
}

/* Tipografia */
html.sgw457-redes main h1,
html.sgw457-redes main h2,
html.sgw457-redes main h3,
html.sgw457-integracoes main h1,
html.sgw457-integracoes main h2,
html.sgw457-integracoes main h3,
html.sgw457-estoque main h1,
html.sgw457-estoque main h2,
html.sgw457-estoque main h3{
  color:#f6faff !important;
}
html.sgw457-redes main p,
html.sgw457-redes main small,
html.sgw457-redes main label,
html.sgw457-integracoes main p,
html.sgw457-integracoes main small,
html.sgw457-integracoes main label,
html.sgw457-estoque main p,
html.sgw457-estoque main small,
html.sgw457-estoque main label{
  color:var(--v457-muted) !important;
}

/* Cards */
html.sgw457-redes main .card,
html.sgw457-redes main .panel,
html.sgw457-redes main .box,
html.sgw457-redes main section[class*="card"],
html.sgw457-redes main div[class*="card"],
html.sgw457-integracoes main .card,
html.sgw457-integracoes main .panel,
html.sgw457-integracoes main .box,
html.sgw457-integracoes main section[class*="card"],
html.sgw457-integracoes main div[class*="card"],
html.sgw457-estoque main .card,
html.sgw457-estoque main .panel,
html.sgw457-estoque main .box,
html.sgw457-estoque main section[class*="card"],
html.sgw457-estoque main div[class*="card"]{
  background:linear-gradient(180deg,var(--v457-panel2),var(--v457-panel)) !important;
  color:var(--v457-text) !important;
  border:1px solid var(--v457-line) !important;
  box-shadow:0 13px 34px rgba(0,0,0,.17) !important;
}

/* Forms */
html.sgw457-redes main input:not([type=checkbox]):not([type=radio]),
html.sgw457-redes main select,
html.sgw457-redes main textarea,
html.sgw457-integracoes main input:not([type=checkbox]):not([type=radio]),
html.sgw457-integracoes main select,
html.sgw457-integracoes main textarea,
html.sgw457-estoque main input:not([type=checkbox]):not([type=radio]),
html.sgw457-estoque main select,
html.sgw457-estoque main textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border:1px solid #1a507f !important;
  box-shadow:none !important;
}
html.sgw457-redes main input::placeholder,
html.sgw457-integracoes main input::placeholder,
html.sgw457-estoque main input::placeholder,
html.sgw457-redes main textarea::placeholder,
html.sgw457-integracoes main textarea::placeholder,
html.sgw457-estoque main textarea::placeholder{
  color:#6f8ead !important;
  opacity:1 !important;
}
html.sgw457-redes main input:focus,
html.sgw457-redes main select:focus,
html.sgw457-redes main textarea:focus,
html.sgw457-integracoes main input:focus,
html.sgw457-integracoes main select:focus,
html.sgw457-integracoes main textarea:focus,
html.sgw457-estoque main input:focus,
html.sgw457-estoque main select:focus,
html.sgw457-estoque main textarea:focus{
  border-color:#2b8bff !important;
  box-shadow:0 0 0 3px rgba(43,139,255,.12) !important;
  outline:none !important;
}

/* Buttons */
html.sgw457-redes main button,
html.sgw457-redes main .btn,
html.sgw457-integracoes main button,
html.sgw457-integracoes main .btn,
html.sgw457-estoque main button,
html.sgw457-estoque main .btn{
  border-radius:9px !important;
}
html.sgw457-redes main .btn-primary,
html.sgw457-redes main button.primary,
html.sgw457-integracoes main .btn-primary,
html.sgw457-integracoes main button.primary,
html.sgw457-estoque main .btn-primary,
html.sgw457-estoque main button.primary{
  background:linear-gradient(135deg,#0b5fd7,#1677ff) !important;
  color:#fff !important;
  border-color:#2c87ff !important;
}

/* Tables */
html.sgw457-redes main table,
html.sgw457-integracoes main table,
html.sgw457-estoque main table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:var(--v457-panel) !important;
  color:var(--v457-text) !important;
  border:1px solid var(--v457-line) !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
html.sgw457-redes main table thead th,
html.sgw457-integracoes main table thead th,
html.sgw457-estoque main table thead th{
  background:#0a2a4e !important;
  color:#c4e1ff !important;
  border-color:#1b4a76 !important;
  font-weight:800 !important;
}
html.sgw457-redes main table tbody td,
html.sgw457-integracoes main table tbody td,
html.sgw457-estoque main table tbody td{
  background:#061a33 !important;
  color:#dcecff !important;
  border-color:#12395f !important;
}
html.sgw457-redes main table tbody tr:nth-child(even) td,
html.sgw457-integracoes main table tbody tr:nth-child(even) td,
html.sgw457-estoque main table tbody tr:nth-child(even) td{
  background:#071f3b !important;
}
html.sgw457-redes main table tbody tr:hover td,
html.sgw457-integracoes main table tbody tr:hover td,
html.sgw457-estoque main table tbody tr:hover td{
  background:#0a2a4d !important;
}

/* Badges / status */
html.sgw457-redes main .badge,
html.sgw457-redes main .pill,
html.sgw457-integracoes main .badge,
html.sgw457-integracoes main .pill,
html.sgw457-estoque main .badge,
html.sgw457-estoque main .pill{
  border-radius:999px !important;
  font-weight:800 !important;
}
html.sgw457-redes main .online,
html.sgw457-redes main .success,
html.sgw457-integracoes main .online,
html.sgw457-integracoes main .success,
html.sgw457-estoque main .online,
html.sgw457-estoque main .success{
  background:#0d3b28 !important;
  color:#69f0aa !important;
  border-color:#1d8c5c !important;
}
html.sgw457-redes main .offline,
html.sgw457-redes main .danger,
html.sgw457-integracoes main .offline,
html.sgw457-integracoes main .danger,
html.sgw457-estoque main .offline,
html.sgw457-estoque main .danger{
  background:#40141f !important;
  color:#ff8996 !important;
  border-color:#a83245 !important;
}
html.sgw457-redes main .warning,
html.sgw457-integracoes main .warning,
html.sgw457-estoque main .warning{
  background:#3d300a !important;
  color:#ffd773 !important;
  border-color:#92700f !important;
}

/* Page layout */
html.sgw457-planos main,
html.sgw457-pools main,
html.sgw457-cto main,
html.sgw457-servidores main,
html.sgw457-olt main,
html.sgw457-gateways main,
html.sgw457-streams main,
html.sgw457-status-externo main,
html.sgw457-estoque main{
  padding:22px 28px 34px !important;
}
html.sgw457-planos main > *,
html.sgw457-pools main > *,
html.sgw457-cto main > *,
html.sgw457-servidores main > *,
html.sgw457-olt main > *,
html.sgw457-gateways main > *,
html.sgw457-streams main > *,
html.sgw457-status-externo main > *,
html.sgw457-estoque main > *{
  max-width:1480px;
  margin-left:auto;
  margin-right:auto;
}

/* PLANOS */
html.sgw457-planos main [class*="plan"],
html.sgw457-planos main [class*="speed"],
html.sgw457-planos main [class*="plano"]{
  background:#071c38 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-planos main [class*="price"],
html.sgw457-planos main [class*="valor"]{
  color:#67b0ff !important;
}

/* POOLS */
html.sgw457-pools main [class*="pool"]{
  background:#071c38 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-pools main code,
html.sgw457-pools main pre{
  background:#031327 !important;
  color:#80bfff !important;
  border-color:#17466f !important;
}

/* CTO */
html.sgw457-cto main [class*="cto"]{
  background:#071c38 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-cto main [class*="porta"],
html.sgw457-cto main [class*="port"]{
  border-color:#17466f !important;
}

/* SERVIDORES / MIKROTIK */
html.sgw457-servidores main [class*="server"],
html.sgw457-servidores main [class*="mikrotik"]{
  background:#071d39 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-servidores main code{
  color:#7fc0ff !important;
  background:#031326 !important;
}

/* OLT / ONU ONT */
html.sgw457-olt main [class*="olt"],
html.sgw457-olt main [class*="onu"],
html.sgw457-olt main [class*="ont"]{
  border-color:#17466f !important;
}
html.sgw457-olt main div[class*="onu"],
html.sgw457-olt main div[class*="ont"]{
  background:linear-gradient(180deg,#071d39,#06172f) !important;
  color:#eaf4ff !important;
}
html.sgw457-olt main [class*="serial"],
html.sgw457-olt main [class*="mac"],
html.sgw457-olt main [class*="vlan"]{
  color:#a9d4ff !important;
}
html.sgw457-olt main [class*="signal"],
html.sgw457-olt main [class*="sinal"],
html.sgw457-olt main [class*="rx"]{
  font-weight:800 !important;
}
html.sgw457-olt main .signal-good,
html.sgw457-olt main .sinal-bom,
html.sgw457-olt main .good{
  color:#65efa7 !important;
}
html.sgw457-olt main .signal-warning,
html.sgw457-olt main .sinal-atencao,
html.sgw457-olt main .attention{
  color:#ffd66e !important;
}
html.sgw457-olt main .signal-critical,
html.sgw457-olt main .sinal-critico,
html.sgw457-olt main .critical{
  color:#ff7a89 !important;
}
html.sgw457-olt main img{
  background:transparent !important;
}

/* GATEWAYS */
html.sgw457-gateways main [class*="gateway"],
html.sgw457-gateways main [class*="provider"],
html.sgw457-gateways main [class*="integration"]{
  background:#071c38 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main [class*="key"],
html.sgw457-gateways main [class*="token"]{
  color:#7fbfff !important;
}

/* STREAMS */
html.sgw457-streams main [class*="stream"]{
  background:#071c38 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}

/* STATUS EXTERNO */
html.sgw457-status-externo main [class*="service"],
html.sgw457-status-externo main [class*="status"]{
  background:#071c38 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}

/* ESTOQUE / COMODATO */
html.sgw457-estoque main [class*="stock"],
html.sgw457-estoque main [class*="estoque"],
html.sgw457-estoque main [class*="item"],
html.sgw457-estoque main [class*="comodato"]{
  border-color:#17466f !important;
}
html.sgw457-estoque main div[class*="item"],
html.sgw457-estoque main div[class*="stock"],
html.sgw457-estoque main div[class*="comodato"]{
  background:linear-gradient(180deg,#071d39,#06172f) !important;
  color:#eaf4ff !important;
}
html.sgw457-estoque main [class*="value"],
html.sgw457-estoque main [class*="valor"]{
  color:#67b0ff !important;
}
html.sgw457-estoque main [class*="quantity"],
html.sgw457-estoque main [class*="quantidade"]{
  color:#eaf4ff !important;
}
html.sgw457-estoque main img{
  background:#06182f !important;
  border-color:#17466f !important;
}

/* MODAIS */
html.sgw457-redes .modal-content,
html.sgw457-redes [class*="modal-card"],
html.sgw457-integracoes .modal-content,
html.sgw457-integracoes [class*="modal-card"],
html.sgw457-estoque .modal-content,
html.sgw457-estoque [class*="modal-card"]{
  background:linear-gradient(180deg,#081e3a,#05152c) !important;
  color:#eaf4ff !important;
  border:1px solid #1a4c78 !important;
  box-shadow:0 24px 65px rgba(0,0,0,.42) !important;
}
html.sgw457-redes .modal-header,
html.sgw457-redes .modal-footer,
html.sgw457-integracoes .modal-header,
html.sgw457-integracoes .modal-footer,
html.sgw457-estoque .modal-header,
html.sgw457-estoque .modal-footer{
  background:#071b35 !important;
  border-color:#18436d !important;
}

/* Brancos inline residuais */
html.sgw457-redes main div[style*="background:#fff"],
html.sgw457-redes main div[style*="background: #fff"],
html.sgw457-integracoes main div[style*="background:#fff"],
html.sgw457-integracoes main div[style*="background: #fff"],
html.sgw457-estoque main div[style*="background:#fff"],
html.sgw457-estoque main div[style*="background: #fff"],
html.sgw457-redes main section[style*="background:#fff"],
html.sgw457-integracoes main section[style*="background:#fff"],
html.sgw457-estoque main section[style*="background:#fff"]{
  background:#071b35 !important;
  color:#eaf4ff !important;
  border-color:#17456f !important;
}

/* Mobile */
@media(max-width:900px){
  html.sgw457-planos main,
  html.sgw457-pools main,
  html.sgw457-cto main,
  html.sgw457-servidores main,
  html.sgw457-olt main,
  html.sgw457-gateways main,
  html.sgw457-streams main,
  html.sgw457-status-externo main,
  html.sgw457-estoque main{
    padding:14px 12px 28px !important;
  }
}


/* ==========================================================
 SGW V474 - REDES: CONTRASTE / LEGIBILIDADE
 Corrige exatamente as telas Planos, Pools, CTO e ONU/ONT.
 Nao muda estrutura nem comportamento funcional.
 ========================================================== */

/* PLANOS: botoes brancos precisam ter texto escuro.
   O tema V457 deixa o container escuro, entao herdar branco torna
   "Editar" e "Sincronizar este MikroTik" invisiveis. */
html.sgw457-redes.sgw457-planos main .v245-edit,
html.sgw457-redes.sgw457-planos main .v245-card-sync{
  background:#f8fafc !important;
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
  text-shadow:none !important;
}
html.sgw457-redes.sgw457-planos main .v245-edit:hover,
html.sgw457-redes.sgw457-planos main .v245-card-sync:hover{
  background:#eaf2fb !important;
  color:#071426 !important;
}
html.sgw457-redes.sgw457-planos main .v245-del{
  background:#fff7f7 !important;
  color:#dc2626 !important;
  border-color:#fecaca !important;
}

/* POOLS: mesmo problema no botao Editar. */
html.sgw457-redes.sgw457-pools main .v84-edit{
  background:#f8fafc !important;
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
  text-shadow:none !important;
}
html.sgw457-redes.sgw457-pools main .v84-edit:hover{
  background:#eaf2fb !important;
  color:#071426 !important;
}
html.sgw457-redes.sgw457-pools main .v84-del{
  background:#fff7f7 !important;
  color:#dc2626 !important;
  border-color:#fecaca !important;
}

/* CTO: o template define .v109-name preto para tema claro.
   No tema escuro V457 isso deixava o nome praticamente invisivel. */
html.sgw457-redes.sgw457-cto main .v109-name{
  color:#eef7ff !important;
  text-shadow:none !important;
}
html.sgw457-redes.sgw457-cto main .v109-count{
  color:#55a7ff !important;
}
html.sgw457-redes.sgw457-cto main .v109-table tbody tr:hover .v109-name{
  color:#ffffff !important;
}

/* ONU/ONT: os pequenos blocos internos permanecem claros por design.
   Forca foreground escuro nesses blocos, sem clarear o card externo. */
html.sgw457-redes main .sgw294-info > div,
html.sgw457-redes main .sgw294-signal,
html.sgw457-redes main .sgw294-clientbox{
  color:#0f172a !important;
}

html.sgw457-redes main .sgw294-info span,
html.sgw457-redes main .sgw294-signal span,
html.sgw457-redes main .sgw294-clientbox span{
  color:#475569 !important;
}

html.sgw457-redes main .sgw294-info b,
html.sgw457-redes main .sgw294-info strong,
html.sgw457-redes main .sgw294-clientbox b{
  color:#0f172a !important;
}

html.sgw457-redes main .sgw294-info small,
html.sgw457-redes main .sgw294-clientbox small{
  color:#64748b !important;
}

/* Legibilidade dos dados tecnicos sem aumentar o card. */
html.sgw457-redes main .sgw294-info span{
  font-size:8.2px !important;
}
html.sgw457-redes main .sgw294-info b{
  font-size:10.2px !important;
  line-height:1.2 !important;
}
html.sgw457-redes main .sgw294-info small{
  font-size:8.4px !important;
  line-height:1.2 !important;
}
html.sgw457-redes main .sgw294-clientbox b{
  font-size:10.2px !important;
}

/* Preserva as cores semanticas de sinal sobre os blocos claros. */
html.sgw457-redes main .sgw294-signal.bom strong{color:#15803d !important}
html.sgw457-redes main .sgw294-signal.atencao strong{color:#b45309 !important}
html.sgw457-redes main .sgw294-signal.critico strong{color:#dc2626 !important}
html.sgw457-redes main .sgw294-info .q.bom{color:#15803d !important}
html.sgw457-redes main .sgw294-info .q.atencao{color:#b45309 !important}
html.sgw457-redes main .sgw294-info .q.critico{color:#dc2626 !important}


/* ==========================================================
 SGW V475 - ONU/ONT: DADOS TECNICOS REALMENTE LEGIVEIS
 A pagina atual usa .sgw302-fields (V302), nao .sgw294-info.
 Corrige os seletores reais vistos na tela.
 ========================================================== */

/* Caixas claras internas dos cards V302 */
html.sgw457-redes main .sgw302-fields > div{
  background:#f8fafc !important;
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
  min-height:48px !important;
  padding:7px 8px !important;
}

/* Titulo pequeno do campo: OLT, TECNOLOGIA, PON/ONU ID, etc. */
html.sgw457-redes main .sgw302-fields span{
  color:#475569 !important;
  font-size:8.5px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-shadow:none !important;
}

/* Valor principal */
html.sgw457-redes main .sgw302-fields b,
html.sgw457-redes main .sgw302-fields strong{
  color:#0b172a !important;
  font-size:10.8px !important;
  font-weight:850 !important;
  line-height:1.22 !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Fonte / observacao abaixo do valor */
html.sgw457-redes main .sgw302-fields small{
  color:#5b6b7f !important;
  font-size:8.5px !important;
  line-height:1.2 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Lista de MACs aprendidos */
html.sgw457-redes main .sgw302-fields .sgw302-learned{
  color:#0f172a !important;
  font-size:9px !important;
  line-height:1.3 !important;
}

/* Cabecalho de cada grupo: OLT/IDENTIFICACAO, MAC/VLAN etc. */
html.sgw457-redes main .sgw302-card-section h4{
  color:#f2f7ff !important;
  font-size:8.5px !important;
  font-weight:950 !important;
  letter-spacing:.035em !important;
}

/* Mantem cores semanticas sobre fundo claro. */
html.sgw457-redes main .sgw302-fields .q.bom{
  color:#15803d !important;
}
html.sgw457-redes main .sgw302-fields .q.atencao{
  color:#b45309 !important;
}
html.sgw457-redes main .sgw302-fields .q.critico{
  color:#dc2626 !important;
}

/* O texto descritivo do cabecalho da pagina fica mais claro no tema escuro. */
html.sgw457-redes main .sgw294-head p{
  color:#8fb2d8 !important;
  font-size:10.5px !important;
}

/* Evita que o tema global reduza/clare novamente os dados V302. */
html.sgw457-redes main .sgw302-card-section .sgw302-fields > div *{
  opacity:1 !important;
}


/* ==========================================================
 SGW V477 - ONU/ONT: SINAL/CONEXAO COM CLASSES REAIS
 Evidencia: gravacao de tela apos V476.
 Template real:
   .sgw302-signal-row
   .sgw302-fields.compact
   .sgw294-clientbox
 ========================================================== */

/* O painel real de SINAL / CONEXAO. */
html.sgw457-redes main .sgw302-signal-row{
  display:grid !important;
  grid-template-columns:132px minmax(0,1fr) !important;
  gap:7px !important;
  align-items:stretch !important;
}

/* Bloco principal do sinal. */
html.sgw457-redes main .sgw302-signal-row .sgw294-signal{
  margin:0 !important;
  min-width:132px !important;
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:9px 7px !important;
  box-sizing:border-box !important;
}

html.sgw457-redes main .sgw302-signal-row .sgw294-signal strong{
  font-size:18px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}

html.sgw457-redes main .sgw302-signal-row .sgw294-signal span{
  font-size:7.5px !important;
  line-height:1.15 !important;
  white-space:normal !important;
}

/* Quatro campos reais: QUALIDADE, CONEXAO, ULTIMO ONLINE, ULTIMO SINAL. */
html.sgw457-redes main .sgw302-fields.compact{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(68px,1fr)) !important;
  gap:6px !important;
  min-width:0 !important;
}

html.sgw457-redes main .sgw302-fields.compact > div{
  min-width:0 !important;
  min-height:54px !important;
  padding:6px 5px !important;
  box-sizing:border-box !important;
  background:#f8fafc !important;
  border-color:#cbd5e1 !important;
}

/* Labels não quebram no meio das letras. */
html.sgw457-redes main .sgw302-fields.compact span{
  display:block !important;
  color:#475569 !important;
  font-size:7.3px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

/* Valores: ONLINE/OFFLINE e 30/08/2026 cabem inteiros.
   A quebra normal pode ocorrer apenas no espaço antes do horario. */
html.sgw457-redes main .sgw302-fields.compact b,
html.sgw457-redes main .sgw302-fields.compact strong{
  display:block !important;
  margin-top:3px !important;
  color:#0f172a !important;
  font-size:8.7px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  opacity:1 !important;
}

/* Cores semanticas de qualidade. */
html.sgw457-redes main .sgw302-fields.compact .q.bom{
  color:#15803d !important;
}
html.sgw457-redes main .sgw302-fields.compact .q.atencao{
  color:#b45309 !important;
}
html.sgw457-redes main .sgw302-fields.compact .q.critico{
  color:#dc2626 !important;
}

/* Faixa inferior REAL de vinculo/cliente. */
html.sgw457-redes main .sgw294-clientbox{
  min-height:56px !important;
  padding:8px 10px !important;
  align-items:center !important;
  gap:10px !important;
}

html.sgw457-redes main .sgw294-clientbox > div{
  min-width:0 !important;
  flex:1 1 auto !important;
}

html.sgw457-redes main .sgw294-clientbox a{
  flex:0 0 auto !important;
  min-width:82px !important;
  min-height:32px !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
  background:#2563eb !important;
  border:1px solid #1d4ed8 !important;
  color:#ffffff !important;
  font-size:9.5px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  opacity:1 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.18) !important;
}

/* Tablet: mantém os quatro dados legíveis sem esmagar. */
@media(max-width:1200px){
  html.sgw457-redes main .sgw302-signal-row{
    grid-template-columns:145px minmax(0,1fr) !important;
  }
  html.sgw457-redes main .sgw302-fields.compact{
    grid-template-columns:repeat(2,minmax(86px,1fr)) !important;
  }
}

/* Mobile: empilha o sinal, mas mantém os quatro campos em duas colunas. */
@media(max-width:700px){
  html.sgw457-redes main .sgw302-signal-row{
    grid-template-columns:1fr !important;
  }
  html.sgw457-redes main .sgw302-signal-row .sgw294-signal{
    min-width:0 !important;
    min-height:110px !important;
  }
  html.sgw457-redes main .sgw302-fields.compact{
    grid-template-columns:repeat(2,minmax(96px,1fr)) !important;
  }
}


/* ==========================================================
 SGW V481 - ESTOQUE TEMA CONSOLIDADO
 Classes reais: V386 / V401 / V405 / V409 / V409X
 Nao altera logica de estoque, comodato, historico ou OLT.
 ========================================================== */

/* ---------- V401 / V386: lista de unidades ---------- */
html.sgw457-estoque main .v401,
html.sgw457-estoque main .v386,
html.sgw457-estoque main .v405,
html.sgw457-estoque main .v409,
html.sgw457-estoque main .v409x{
  color:#eaf4ff !important;
}

html.sgw457-estoque main .v401 p,
html.sgw457-estoque main .v386 p,
html.sgw457-estoque main .v405 p,
html.sgw457-estoque main .v409 p{
  color:#91afd0 !important;
}

html.sgw457-estoque main .v401-stat,
html.sgw457-estoque main .v386-stat,
html.sgw457-estoque main .v401-tools,
html.sgw457-estoque main .v386-tools,
html.sgw457-estoque main .v401-unit,
html.sgw457-estoque main .v386-unit{
  background:#071f3b !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}

html.sgw457-estoque main .v401-stat span,
html.sgw457-estoque main .v386-stat span,
html.sgw457-estoque main .v401-sub,
html.sgw457-estoque main .v386-sub{
  color:#91afd0 !important;
}

html.sgw457-estoque main .v401-stat strong,
html.sgw457-estoque main .v386-stat strong,
html.sgw457-estoque main .v401-main,
html.sgw457-estoque main .v386-main{
  color:#f6faff !important;
}

html.sgw457-estoque main .v401-stat.use,
html.sgw457-estoque main .v386-stat.use{
  background:#0d3528 !important;
  border-color:#217a57 !important;
}
html.sgw457-estoque main .v401-stat.hist,
html.sgw457-estoque main .v386-stat.hist{
  background:#0b2d51 !important;
  border-color:#246799 !important;
}

/* Inputs/filtros */
html.sgw457-estoque main .v401-tools input,
html.sgw457-estoque main .v401-tools select,
html.sgw457-estoque main .v386-tools input,
html.sgw457-estoque main .v386-tools select,
html.sgw457-estoque main .v405 input,
html.sgw457-estoque main .v405 select,
html.sgw457-estoque main .v405 textarea,
html.sgw457-estoque main .v409 input,
html.sgw457-estoque main .v409 select,
html.sgw457-estoque main .v409 textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}

html.sgw457-estoque main .v401-tools input::placeholder,
html.sgw457-estoque main .v386-tools input::placeholder,
html.sgw457-estoque main .v405 input::placeholder,
html.sgw457-estoque main .v409 input::placeholder,
html.sgw457-estoque main .v405 textarea::placeholder,
html.sgw457-estoque main .v409 textarea::placeholder{
  color:#7897b8 !important;
}

/* Detalhes/historico */
html.sgw457-estoque main .v401-detail,
html.sgw457-estoque main .v386-detail{
  background:#04182f !important;
  border-color:#17466f !important;
}

html.sgw457-estoque main .v401-section,
html.sgw457-estoque main .v386-hrow,
html.sgw457-estoque main .v401-hrow,
html.sgw457-estoque main .v386-empty,
html.sgw457-estoque main .v401-empty{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}

html.sgw457-estoque main .v401-hrow,
html.sgw457-estoque main .v386-hrow{
  background:#0a294b !important;
}

html.sgw457-estoque main .v401-hrow small,
html.sgw457-estoque main .v386-hrow small,
html.sgw457-estoque main .v401-empty,
html.sgw457-estoque main .v386-empty{
  color:#91afd0 !important;
}

html.sgw457-estoque main .v401-oltrow{
  color:#dcecff !important;
  border-color:#12395f !important;
}

/* Botoes pequenos de editar/excluir */
html.sgw457-estoque main .v401-icon{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
html.sgw457-estoque main .v401-icon.edit{
  color:#70b7ff !important;
  border-color:#3b82f6 !important;
}
html.sgw457-estoque main .v401-icon.del{
  color:#ff8996 !important;
  border-color:#ef4444 !important;
}
html.sgw457-estoque main .v409-hbtn.edit{
  background:#0b2d51 !important;
  color:#9dceff !important;
  border-color:#246799 !important;
}
html.sgw457-estoque main .v409-hbtn.del{
  background:#401923 !important;
  color:#ffb3bd !important;
  border-color:#8f3548 !important;
}

/* Badges preservando semantica */
html.sgw457-estoque main .v401-badge.use,
html.sgw457-estoque main .v386-badge.use{
  background:#0d3b28 !important;
  color:#71f0ad !important;
}
html.sgw457-estoque main .v401-badge.disp,
html.sgw457-estoque main .v386-badge.disp{
  background:#0b3157 !important;
  color:#8dccff !important;
}
html.sgw457-estoque main .v401-badge.maint,
html.sgw457-estoque main .v386-badge.maint{
  background:#3b300d !important;
  color:#ffe08a !important;
}
html.sgw457-estoque main .v401-badge.down,
html.sgw457-estoque main .v386-badge.down{
  background:#401923 !important;
  color:#ffb3bd !important;
}

/* ---------- V401 modal ---------- */
html.sgw457-estoque .v401-modal-bg{
  background:rgba(1,7,17,.76) !important;
}
html.sgw457-estoque .v401-modal{
  background:#061a33 !important;
  color:#eaf4ff !important;
  border:1px solid #205985 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.52) !important;
}
html.sgw457-estoque .v401-modal h2{
  color:#f6faff !important;
}
html.sgw457-estoque .v401-modal label{
  color:#a9c4e3 !important;
}
html.sgw457-estoque .v401-modal input,
html.sgw457-estoque .v401-modal select,
html.sgw457-estoque .v401-modal textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
html.sgw457-estoque .v401-client-option{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-estoque .v401-client-option:hover{
  background:#0b2d51 !important;
}
html.sgw457-estoque .v401-selected{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}

/* ---------- V405: historico por cliente ---------- */
html.sgw457-estoque main .v405-card{
  background:#071f3b !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 8px 24px rgba(0,0,0,.14) !important;
}
html.sgw457-estoque main .v405-label,
html.sgw457-estoque main .v405 label,
html.sgw457-estoque main .v405-client small{
  color:#91afd0 !important;
}
html.sgw457-estoque main .v405-value,
html.sgw457-estoque main .v405-client strong{
  color:#f6faff !important;
}
html.sgw457-estoque main .v405-client{
  background:#061a33 !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-estoque main .v405-client:hover{
  background:#0b2d51 !important;
}
html.sgw457-estoque main .v405-note{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}
html.sgw457-estoque main .v405-hrow{
  color:#dcecff !important;
  border-color:#12395f !important;
}
html.sgw457-estoque main .v405-empty{
  color:#91afd0 !important;
  border-color:#24618e !important;
}

/* Checkbox de cliente nao pode herdar largura 100%. */
html.sgw457-estoque main .v405-client input[type="radio"],
html.sgw457-estoque main .v405-client input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:auto !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  padding:0 !important;
  margin:0 !important;
  accent-color:#1677ff !important;
}

/* ---------- V409 editar/excluir historico ---------- */
html.sgw457-estoque main .v409-card,
html.sgw457-estoque main .v409x-card{
  background:#071f3b !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-estoque main .v409 label{
  color:#a9c4e3 !important;
}
html.sgw457-estoque main .v409-current{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}
html.sgw457-estoque main .v409-option{
  background:#061a33 !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-estoque main .v409x-info{
  background:#0a294b !important;
  color:#dcecff !important;
  border-color:#205985 !important;
}
html.sgw457-estoque main .v409-btn.gray,
html.sgw457-estoque main .v409x-btn.gray{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border:1px solid #205985 !important;
}
html.sgw457-estoque main .v409x-btn.red{
  background:#b91c1c !important;
  color:#fff !important;
}

/* Responsividade das listas extensas. */
@media(max-width:1100px){
  html.sgw457-estoque main .v401-summary,
  html.sgw457-estoque main .v386-summary{
    overflow-x:auto !important;
  }
}


/* ==========================================================
 SGW V482 - INTEGRACOES TEMA CONSOLIDADO
 Classes reais:
   Servidores/MikroTik (server-card/modal v12)
   Integracoes/Gateways/Streams V154/V155
   OLT V290/V292/V302
 Somente visual. Nao altera integracoes ou comunicacao.
 ========================================================== */

/* ----------------------------------------------------------
   HUB DE INTEGRACOES V154
---------------------------------------------------------- */
html.sgw457-integracoes main .v154-page{
  color:#eaf4ff !important;
}
html.sgw457-integracoes main .v154-hero h1{
  color:#f6faff !important;
}
html.sgw457-integracoes main .v154-hero p,
html.sgw457-integracoes main .v154-muted{
  color:#91afd0 !important;
}
html.sgw457-integracoes main .v154-kicker{
  color:#60a5fa !important;
}
html.sgw457-integracoes main .v154-integration-card{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 10px 28px rgba(0,0,0,.14) !important;
}
html.sgw457-integracoes main .v154-integration-card:hover{
  background:#0b2d51 !important;
  border-color:#2f7eb8 !important;
}
html.sgw457-integracoes main .v154-integration-card.featured{
  border-color:#2d8bff !important;
  box-shadow:0 0 0 1px rgba(45,139,255,.18),0 12px 28px rgba(0,0,0,.17) !important;
}
html.sgw457-integracoes main .v154-integration-card strong{
  color:#f6faff !important;
}
html.sgw457-integracoes main .v154-integration-card p{
  color:#91afd0 !important;
}
html.sgw457-integracoes main .v154-integration-card em{
  color:#70b7ff !important;
}

/* ----------------------------------------------------------
   GATEWAYS V154 / V155
---------------------------------------------------------- */
html.sgw457-gateways main .v154-page{
  color:#eaf4ff !important;
}
html.sgw457-gateways main .v154-hero h1,
html.sgw457-gateways main .v154-card h2,
html.sgw457-gateways main .v154-card h3{
  color:#f6faff !important;
}
html.sgw457-gateways main .v154-hero p,
html.sgw457-gateways main .v154-muted{
  color:#91afd0 !important;
}
html.sgw457-gateways main .v154-kicker{
  color:#60a5fa !important;
}

html.sgw457-gateways main .v154-stat{
  background:#071f3b !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-stat span,
html.sgw457-gateways main .v154-stat small{
  color:#91afd0 !important;
}
html.sgw457-gateways main .v154-stat strong{
  color:#f6faff !important;
}
html.sgw457-gateways main .v154-stat.ok{
  background:#0d3528 !important;
  border-color:#217a57 !important;
}
html.sgw457-gateways main .v154-stat.warn{
  background:#3b300d !important;
  border-color:#866a14 !important;
}

html.sgw457-gateways main .v154-card,
html.sgw457-streams main .v154-card{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 10px 28px rgba(0,0,0,.14) !important;
}
html.sgw457-gateways main .v154-card-head{
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-chip{
  background:#0b3157 !important;
  color:#8dccff !important;
  border-color:#246799 !important;
}

html.sgw457-gateways main .v154-field > span,
html.sgw457-gateways main .v154-field label{
  color:#a9c4e3 !important;
}
html.sgw457-gateways main .v154-field input,
html.sgw457-gateways main .v154-field select,
html.sgw457-gateways main .v154-field textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
html.sgw457-gateways main .v154-field input::placeholder,
html.sgw457-gateways main .v154-field textarea::placeholder{
  color:#7897b8 !important;
}

html.sgw457-gateways main .v154-provider-box{
  background:#061a33 !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-provider-title{
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-provider-title strong{
  color:#f6faff !important;
}
html.sgw457-gateways main .v154-provider-title span{
  color:#91afd0 !important;
}
html.sgw457-gateways main .v154-endpoint{
  background:#04182f !important;
  color:#9dceff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-help-item{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-help-item b{
  background:#0b5fd7 !important;
  color:#fff !important;
}
html.sgw457-gateways main .v154-help-item span{
  color:#91afd0 !important;
}
html.sgw457-gateways main .v154-security{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}

/* Webhook / token V155 */
html.sgw457-gateways main .v155-webhook-box,
html.sgw457-gateways main .v155-webhook-pending,
html.sgw457-gateways main .v155-copy-row{
  background:#04182f !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v155-webhook-title{
  color:#f6faff !important;
}
html.sgw457-gateways main .v155-webhook-url{
  color:#7fc0ff !important;
}
html.sgw457-gateways main .v155-checks{
  color:#cfe2f7 !important;
}

/* Botoes V154 */
html.sgw457-gateways main .v154-btn,
html.sgw457-streams main .v154-btn{
  border:1px solid transparent !important;
  font-weight:850 !important;
}
html.sgw457-gateways main .v154-btn-primary{
  background:linear-gradient(135deg,#0b5fd7,#1677ff) !important;
  color:#fff !important;
  border-color:#2d8bff !important;
}
html.sgw457-gateways main .v154-btn-ghost,
html.sgw457-streams main .v154-btn-ghost{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
html.sgw457-gateways main .v154-mini{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
html.sgw457-gateways main .v154-mini.test{
  color:#9dceff !important;
  border-color:#246799 !important;
}
html.sgw457-gateways main .v154-mini.danger{
  background:#401923 !important;
  color:#ffb3bd !important;
  border-color:#8f3548 !important;
}

/* Tabela Gateways */
html.sgw457-gateways main .v154-table-wrap{
  background:#061a33 !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-table{
  background:#061a33 !important;
  color:#dcecff !important;
}
html.sgw457-gateways main .v154-table th{
  background:#0a2a4e !important;
  color:#c5e2ff !important;
  border-color:#17466f !important;
}
html.sgw457-gateways main .v154-table td{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#12395f !important;
}
html.sgw457-gateways main .v154-table tr:nth-child(even) td{
  background:#061a33 !important;
}
html.sgw457-gateways main .v154-table tbody tr:hover td{
  background:#0b2d51 !important;
}
html.sgw457-gateways main .v154-empty{
  color:#91afd0 !important;
}

/* Status/pills */
html.sgw457-gateways main .v154-status.ok{
  background:#0d3b28 !important;
  color:#71f0ad !important;
}
html.sgw457-gateways main .v154-status.config{
  background:#0b3157 !important;
  color:#8dccff !important;
}
html.sgw457-gateways main .v154-status.pending{
  background:#3b300d !important;
  color:#ffe08a !important;
}
html.sgw457-gateways main .v154-status.error{
  background:#401923 !important;
  color:#ffb3bd !important;
}
html.sgw457-gateways main .v154-status.off{
  background:#202d3d !important;
  color:#aab9c9 !important;
}
html.sgw457-gateways main .v154-error-msg{
  color:#ff8996 !important;
}

/* ----------------------------------------------------------
   SERVIDORES / MIKROTIK
---------------------------------------------------------- */
html.sgw457-servidores main .server-card,
html.sgw457-servidores main .server-card-v12{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-servidores main .server-status,
html.sgw457-servidores main .server-card h3{
  color:#f6faff !important;
}
html.sgw457-servidores main .muted,
html.sgw457-servidores main .mini{
  color:#91afd0 !important;
}
html.sgw457-servidores main .copy-line{
  background:#04182f !important;
  color:#9dceff !important;
  border-color:#17466f !important;
}
html.sgw457-servidores main .script-panel{
  background:#061a33 !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-servidores main .script-panel textarea{
  background:#031327 !important;
  color:#b9f6c9 !important;
  border:1px solid #17466f !important;
}
html.sgw457-servidores main .notice-box{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-left-color:#22c55e !important;
}
html.sgw457-servidores main .server-icons button{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}

/* Modal V12 */
html.sgw457-servidores .modal-overlay-v12{
  background:rgba(1,7,17,.76) !important;
}
html.sgw457-servidores .modal-floating-v12{
  background:#061a33 !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.52) !important;
}
html.sgw457-servidores .modal-head-v12{
  background:#071f3b !important;
  border-color:#17466f !important;
}
html.sgw457-servidores .modal-head-v12 h2{
  color:#f6faff !important;
}
html.sgw457-servidores .modal-floating-v12 input,
html.sgw457-servidores .modal-floating-v12 select,
html.sgw457-servidores .modal-floating-v12 textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
html.sgw457-servidores .modal-floating-v12 label{
  color:#a9c4e3 !important;
}

/* ----------------------------------------------------------
   OLT V290 / V292 / V302
---------------------------------------------------------- */
html.sgw457-olt main .olt290-page{
  color:#eaf4ff !important;
}
html.sgw457-olt main .olt290-head h1,
html.sgw457-olt main .olt290-section-title h2{
  color:#f6faff !important;
}
html.sgw457-olt main .olt290-head p,
html.sgw457-olt main .olt290-kicker{
  color:#91afd0 !important;
}

html.sgw457-olt main .olt290-alert.info{
  background:#0b2d51 !important;
  color:#9dceff !important;
  border-color:#246799 !important;
}
html.sgw457-olt main .olt290-alert.danger{
  background:#401923 !important;
  color:#ffb3bd !important;
  border-color:#8f3548 !important;
}

html.sgw457-olt main .olt290-stat{
  background:#071f3b !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-olt main .olt290-stat span,
html.sgw457-olt main .olt290-stat small{
  color:#91afd0 !important;
}
html.sgw457-olt main .olt290-stat strong{
  color:#f6faff !important;
}
html.sgw457-olt main .olt290-stat.green,
html.sgw457-olt main .olt290-stat.good,
html.sgw457-olt main .olt290-stat.linked{
  background:#0d3528 !important;
  border-color:#217a57 !important;
}
html.sgw457-olt main .olt290-stat.warn{
  background:#3b300d !important;
  border-color:#866a14 !important;
}
html.sgw457-olt main .olt290-stat.bad,
html.sgw457-olt main .olt290-stat.offline{
  background:#401923 !important;
  border-color:#8f3548 !important;
}
html.sgw457-olt main .olt290-stat.muted,
html.sgw457-olt main .olt290-stat.unlinked{
  background:#202d3d !important;
  border-color:#425267 !important;
}

html.sgw457-olt main .olt290-section,
html.sgw457-olt main .olt290-card,
html.sgw457-olt main .olt290-empty{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
html.sgw457-olt main .olt290-device-name strong{
  color:#f6faff !important;
}
html.sgw457-olt main .olt290-meta,
html.sgw457-olt main .olt290-status-text{
  color:#91afd0 !important;
}
html.sgw457-olt main .olt290-mini-stats > div{
  background:#0a294b !important;
  color:#dcecff !important;
  border-color:#205985 !important;
}
html.sgw457-olt main .olt290-progress{
  background:#04182f !important;
  border-color:#17466f !important;
}
html.sgw457-olt main .olt290-progress-top{
  color:#dcecff !important;
}

html.sgw457-olt main .olt290-filters input,
html.sgw457-olt main .olt290-filters select{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}

html.sgw457-olt main .olt290-table-wrap{
  background:#061a33 !important;
  border-color:#17466f !important;
}
html.sgw457-olt main .olt290-table{
  background:#061a33 !important;
  color:#dcecff !important;
}
html.sgw457-olt main .olt290-table th{
  background:#0a2a4e !important;
  color:#c5e2ff !important;
  border-color:#17466f !important;
}
html.sgw457-olt main .olt290-table td{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#12395f !important;
}
html.sgw457-olt main .olt290-table tr:nth-child(even) td{
  background:#061a33 !important;
}
html.sgw457-olt main .olt290-table tbody tr:hover td{
  background:#0b2d51 !important;
}

/* OLT botoes */
html.sgw457-olt main .olt290-btn{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
html.sgw457-olt main .olt290-btn.primary{
  background:linear-gradient(135deg,#0b5fd7,#1677ff) !important;
  color:#fff !important;
  border-color:#2d8bff !important;
}
html.sgw457-olt main .olt290-btn.danger{
  background:#401923 !important;
  color:#ffb3bd !important;
  border-color:#8f3548 !important;
}
html.sgw457-olt main .olt290-btn.link{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}

/* Dialogs OLT */
html.sgw457-olt .olt290-dialog{
  background:#061a33 !important;
  color:#eaf4ff !important;
  border:1px solid #205985 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.52) !important;
}
html.sgw457-olt .olt290-dialog::backdrop{
  background:rgba(1,7,17,.76) !important;
}
html.sgw457-olt .olt290-dialog-head{
  background:#071f3b !important;
  border-color:#17466f !important;
}
html.sgw457-olt .olt290-dialog-head h2{
  color:#f6faff !important;
}
html.sgw457-olt .olt290-dialog-head p,
html.sgw457-olt .olt290-dialog-note{
  color:#91afd0 !important;
}
html.sgw457-olt .olt290-dialog input,
html.sgw457-olt .olt290-dialog select,
html.sgw457-olt .olt290-dialog textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
html.sgw457-olt .olt292-client-results{
  background:#061a33 !important;
  border-color:#17466f !important;
}
html.sgw457-olt .olt292-client-results button,
html.sgw457-olt .olt292-client-results > div{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html.sgw457-olt .olt292-client-results button:hover{
  background:#0b2d51 !important;
}
html.sgw457-olt .olt291-script-note{
  background:#04182f !important;
  color:#9dceff !important;
  border-color:#17466f !important;
}

/* Streams */
html.sgw457-streams main .v154-page{
  color:#eaf4ff !important;
}
html.sgw457-streams main .v154-hero h1,
html.sgw457-streams main .v154-card h2{
  color:#f6faff !important;
}
html.sgw457-streams main .v154-hero p,
html.sgw457-streams main .v154-muted{
  color:#91afd0 !important;
}


/* ==========================================================
 SGW V483 - SITE + CONFIGURACOES TEMA CONSOLIDADO
 Alcance interno:
   Configuracoes gerais V166 / Central informativos V166
   Paginas Bloqueio/Pendencia V208
   Site do Provedor V252/V253
 Somente visual. Mantem preview/publico sem alterar conteudo.
 ========================================================== */

/* ----------------------------------------------------------
   CONFIGURACOES V166
---------------------------------------------------------- */
html body .v166-page{
  color:#eaf4ff !important;
}
html body .v166-head h1{
  color:#f6faff !important;
}
html body .v166-head p,
html body .v166-muted{
  color:#91afd0 !important;
}
html body .v166-badge{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}

/* Cards internos */
html body .v166-card{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 10px 28px rgba(0,0,0,.14) !important;
}
html body .v166-card-title{
  border-color:#17466f !important;
}
html body .v166-card-title>span{
  background:#0b3157 !important;
  color:#8dccff !important;
}
html body .v166-card-title h2{
  color:#f6faff !important;
}
html body .v166-card-title p{
  color:#91afd0 !important;
}

/* Campos */
html body .v166-field>span,
html body .v166-urlbox>label{
  color:#a9c4e3 !important;
}
html body .v166-field small,
html body .v166-upload small{
  color:#91afd0 !important;
}
html body .v166-field input,
html body .v166-field select,
html body .v166-field textarea,
html body .v166-search input{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
html body .v166-field input::placeholder,
html body .v166-field textarea::placeholder,
html body .v166-search input::placeholder{
  color:#7897b8 !important;
}

/* Radio real, sem herdar tamanho de input de texto. */
html body .v166-radio input[type="radio"],
html body .v166-theme-option input[type="radio"]{
  appearance:auto !important;
  -webkit-appearance:radio !important;
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  min-height:17px !important;
  max-width:17px !important;
  max-height:17px !important;
  padding:0 !important;
  accent-color:#1677ff !important;
  box-shadow:none !important;
}
html body .v166-radio label{
  color:#dcecff !important;
}

/* Slug e unidade */
html body .v166-slug-row{
  background:#041a34 !important;
  border-color:#1a507f !important;
}
html body .v166-slug-row span,
html body .v166-inline-unit span{
  background:#0a294b !important;
  color:#b9d9f7 !important;
  border-color:#205985 !important;
}

/* URLs */
html body .v166-urlbox>div{
  background:#04182f !important;
  border-color:#17466f !important;
}
html body .v166-urlbox code{
  color:#9dceff !important;
}
html body .v166-urlbox button{
  background:#0b3157 !important;
  color:#9dceff !important;
  border:1px solid #246799 !important;
}

/* Notas / PIX / timezone */
html body .v166-note{
  background:#3b300d !important;
  color:#ffe08a !important;
  border-left-color:#d6a919 !important;
}
html body .v206-pix-preview,
html body .v197-timezone-note{
  background:#04182f !important;
  color:#b9d9f7 !important;
  border-color:#17466f !important;
}

/* Tema claro/escuro */
html body .v166-theme-option{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#205985 !important;
}
html body .v166-theme-option:has(input:checked){
  background:#0b3157 !important;
  border-color:#3b82f6 !important;
}
html body .v166-theme-option .preview.claro{
  background:#f8fafc !important;
  color:#0f172a !important;
}
html body .v166-theme-option .preview.escuro{
  background:#0f172a !important;
  color:#fff !important;
}

/* Botoes */
html body .v166-btn.primary{
  background:#15803d !important;
  color:#fff !important;
}
html body .v166-btn.secondary{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
html body .v166-btn.ghost{
  background:#061a33 !important;
  color:#cfe2f7 !important;
  border-color:#205985 !important;
}
html body .v166-btn.danger{
  background:#401923 !important;
  color:#ffb3bd !important;
  border-color:#8f3548 !important;
}

/* Barra salvar */
html body .v166-savebar{
  background:rgba(7,31,59,.97) !important;
  color:#eaf4ff !important;
  border-color:#217a57 !important;
  box-shadow:0 10px 35px rgba(0,0,0,.28) !important;
}
html body .v166-savebar span{
  color:#91afd0 !important;
}

/* Dialog senha */
html body .v166-dialog{
  background:#061a33 !important;
  color:#eaf4ff !important;
  border:1px solid #205985 !important;
}
html body .v166-dialog::backdrop{
  background:rgba(1,7,17,.76) !important;
}
html body .v166-dialog-head{
  border-color:#17466f !important;
}
html body .v166-dialog-head h2{
  color:#f6faff !important;
}
html body .v166-dialog-head p{
  color:#91afd0 !important;
}
html body .v166-dialog-head>button{
  color:#dcecff !important;
}

/* Informativos / upload / arquivo */
html body .v166-info-item,
html body .v166-current-file,
html body .v166-upload{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html body .v166-info-item{
  border-left-color:#3b82f6 !important;
}
html body .v166-info-item.sucesso{border-left-color:#22c55e !important}
html body .v166-info-item.alerta{border-left-color:#eab308 !important}
html body .v166-info-item.perigo{border-left-color:#ef4444 !important}
html body .v166-info-head label{
  color:#cfe2f7 !important;
}
html body .v166-empty{
  color:#91afd0 !important;
}
html body .v166-code-tabs button{
  background:#0a294b !important;
  color:#cfe2f7 !important;
}
html body .v166-code-tabs button.active{
  background:#1677ff !important;
  color:#fff !important;
}

/* Tabelas internas */
html body .v166-table-wrap{
  background:#061a33 !important;
  border-color:#17466f !important;
}
html body .v166-table th{
  background:#0a2a4e !important;
  color:#c5e2ff !important;
}
html body .v166-table td{
  color:#dcecff !important;
  border-color:#12395f !important;
}

/* Preview iframe continua branco: é conteúdo público e deve representar a página real. */
html body .v166-preview{
  background:#fff !important;
  border-color:#205985 !important;
}

/* ----------------------------------------------------------
   PAGINAS BLOQUEIO / PENDENCIA V208
---------------------------------------------------------- */
html body .v208-page{
  color:#eaf4ff !important;
}
html body .v208-head h1{
  color:#f6faff !important;
}
html body .v208-head p{
  color:#91afd0 !important;
}
html body .v208-preview-chip{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
  border-color:#217a57 !important;
}

html body .v208-card{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 10px 28px rgba(0,0,0,.14) !important;
}
html body .v208-card-title>span{
  background:#0b3157 !important;
  color:#8dccff !important;
}
html body .v208-card-title h2{
  color:#f6faff !important;
}
html body .v208-card-title p{
  color:#91afd0 !important;
}

/* Opcoes de modo */
html body .v208-mode-option{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#205985 !important;
}
html body .v208-mode-option.active{
  background:#0b3157 !important;
  border-color:#3b82f6 !important;
  box-shadow:0 0 0 3px rgba(59,130,246,.14) !important;
}
html body .v208-mode-option strong{
  color:#f6faff !important;
}
html body .v208-mode-option small{
  color:#91afd0 !important;
}
html body .v208-mode-option input[type="radio"]{
  appearance:auto !important;
  -webkit-appearance:radio !important;
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  min-height:17px !important;
  max-width:17px !important;
  max-height:17px !important;
  padding:0 !important;
  accent-color:#1677ff !important;
}

/* URL */
html body .v208-urlbox label,
html body .v208-field span{
  color:#a9c4e3 !important;
}
html body .v208-urlbox div{
  background:#04182f !important;
  border-color:#17466f !important;
}
html body .v208-urlbox code{
  color:#9dceff !important;
}
html body .v208-urlbox a{
  background:#0b3157 !important;
  color:#9dceff !important;
  border-color:#246799 !important;
}

/* Editor permanece escuro */
html body .v208-field textarea{
  background:#031327 !important;
  color:#d8f0ff !important;
  border-color:#17466f !important;
}

/* Tokens e resumo */
html body .v208-tokens{
  background:#04182f !important;
  color:#dcecff !important;
  border-color:#24618e !important;
}
html body .v208-tokens strong{
  color:#f6faff !important;
}
html body .v208-tokens code{
  background:#0b3157 !important;
  color:#9dceff !important;
}
html body .v208-summary div{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
html body .v208-summary label{
  color:#91afd0 !important;
}
html body .v208-summary strong{
  color:#f6faff !important;
}
html body .v208-btn.secondary{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}

/* ----------------------------------------------------------
   SITE DO PROVEDOR V252 / V253
   Os estilos originais sao inline; !important garante o tema interno.
---------------------------------------------------------- */
html body .sgw252-site-card,
html body .sgw253-site-card{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 12px 32px rgba(0,0,0,.18) !important;
}
html body .sgw252-site-head{
  background:#071f3b !important;
  border-color:#17466f !important;
}
html body .sgw252-site-head h1,
html body .sgw253-site-card h1{
  color:#f6faff !important;
}
html body .sgw252-site-head p,
html body .sgw253-site-card p,
html body .sgw252-muted{
  color:#91afd0 !important;
}
html body .sgw252-link{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
html body .sgw252-link:hover{
  background:#0b3157 !important;
  border-color:#3b82f6 !important;
  box-shadow:0 8px 20px rgba(22,119,255,.14) !important;
}
html body .sgw252-alert{
  background:#3b300d !important;
  color:#ffe08a !important;
  border-color:#866a14 !important;
}
html body .sgw253-contact{
  background:#0b2d51 !important;
  color:#cfe2f7 !important;
  border-color:#246799 !important;
}
html body .sgw253-contact b{
  color:#9dceff !important;
}
html body .sgw253-contact p{
  color:#cfe2f7 !important;
}
