/* SGW V294 - ONU/ONT no perfil + Redes */

#sgw294Toast{
  position:fixed;right:18px;bottom:18px;z-index:999999;
  display:none;max-width:430px;padding:11px 14px;border-radius:10px;
  color:#fff;font-weight:800;font-size:12px;box-shadow:0 14px 35px #0003
}
#sgw294Toast.ok{background:#15803d}
#sgw294Toast.bad{background:#b91c1c}

/* Foto 1: OLT + PON + sinal no topo do perfil */
.sgw294-profile-onu{
  margin-left:auto;margin-right:12px;min-width:250px;max-width:430px;
  padding:7px 11px;border:1px solid #bfdbfe;border-radius:10px;
  background:#eff6ff;display:flex;flex-direction:column;gap:2px;
  line-height:1.1
}
.sgw294-profile-onu span{font-size:9px;font-weight:900;color:#64748b;text-transform:uppercase}
.sgw294-profile-onu b{font-size:11px;color:#0f172a;white-space:normal}
.sgw294-profile-onu small{font-size:8px;color:#64748b}
.sgw294-profile-onu.good{border-color:#86efac;background:#f0fdf4}
.sgw294-profile-onu.good b{color:#166534}
.sgw294-profile-onu.warn{border-color:#fde68a;background:#fffbeb}
.sgw294-profile-onu.warn b{color:#b45309}
.sgw294-profile-onu.bad{border-color:#fecaca;background:#fef2f2}
.sgw294-profile-onu.bad b{color:#b91c1c}
.sgw294-profile-onu.empty{border-color:#e2e8f0;background:#f8fafc}

/* Foto 3: ONU/ONT no Editar Cliente */
.sgw294-client-onu-box{
  margin:10px 0;padding:12px;border:1px solid #c7d7ee;border-radius:11px;
  background:#f8fbff;box-sizing:border-box
}
.sgw294-edit-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:9px
}
.sgw294-edit-head h3{margin:0 0 3px;font-size:14px;color:#0f172a}
.sgw294-edit-head p{margin:0;color:#64748b;font-size:9px;line-height:1.35}
.sgw294-edit-state{
  flex:0 0 auto;background:#e0f2fe;color:#075985;border-radius:999px;
  padding:5px 8px;font-size:8px;font-weight:900
}
.sgw294-linked-list{display:grid;gap:6px;margin:8px 0}
.sgw294-edit-linked{
  display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:9px;
  align-items:center;padding:8px;border:1px solid #dbe4ee;
  border-radius:9px;background:#fff
}
.sgw294-edit-signal{
  border-radius:8px;padding:8px;text-align:center;background:#f1f5f9
}
.sgw294-edit-signal b{display:block;font-size:12px}
.sgw294-edit-signal small{display:block;margin-top:2px;font-size:8px;color:#64748b}
.sgw294-edit-signal.good{background:#dcfce7;color:#166534}
.sgw294-edit-signal.warn{background:#fef3c7;color:#b45309}
.sgw294-edit-signal.bad{background:#fee2e2;color:#b91c1c}
.sgw294-edit-main b{display:block;font-size:10px;color:#0f172a}
.sgw294-edit-main span{display:block;font-size:9px;color:#334155;margin-top:2px}
.sgw294-edit-main small{display:block;font-size:8px;color:#64748b;margin-top:2px}
.sgw294-unlink{
  border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;
  border-radius:7px;padding:7px 8px;font-size:9px;font-weight:900;cursor:pointer
}
.sgw294-no-linked,.sgw294-small-loading{
  padding:10px;border:1px dashed #cbd5e1;border-radius:8px;
  background:#fff;color:#64748b;font-size:9px
}
.sgw294-no-linked.error{color:#b91c1c}
.sgw294-selector{
  display:grid;grid-template-columns:minmax(140px,.7fr) minmax(260px,1.6fr) auto;
  gap:7px;margin-top:9px
}
.sgw294-selector input,.sgw294-selector select{
  width:100%;height:38px;border:1px solid #cbd5e1;border-radius:8px;
  background:#fff;padding:0 9px;font-size:10px;box-sizing:border-box;min-width:0
}
.sgw294-link-btn{
  border:0;border-radius:8px;background:#16a34a;color:#fff;
  padding:0 12px;font-size:10px;font-weight:900;cursor:pointer
}
.sgw294-link-btn:disabled{opacity:.6;cursor:wait}

/* Foto 4: página Redes > ONU/ONT DAS OLT */
.sgw294-page{max-width:1500px;margin:0 auto;padding:4px 4px 20px}
.sgw294-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:15px}
.sgw294-kicker{display:block;color:#2563eb;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:4px}
.sgw294-head h1{margin:0;color:#0f172a;font-size:30px;font-weight:700}
.sgw294-head p{margin:5px 0 0;color:#64748b;font-size:11px;max-width:850px}
.sgw294-back{
  text-decoration:none;border:1px solid #cbd5e1;background:#fff;color:#334155;
  border-radius:9px;padding:9px 12px;font-size:10px;font-weight:800;white-space:nowrap
}
.sgw294-summary{
  display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:9px;margin-bottom:13px
}
.sgw294-stat{
  appearance:none;text-align:left;border:1px solid #dbe4ee;border-top:4px solid #64748b;
  border-radius:11px;background:#fff;padding:10px 12px;cursor:pointer
}
.sgw294-stat span{display:block;font-size:9px;font-weight:900;color:#475569}
.sgw294-stat strong{display:block;font-size:24px;line-height:1.1;color:#0f172a;margin:3px 0}
.sgw294-stat small{display:block;font-size:8px;color:#64748b}
.sgw294-stat.online{border-top-color:#22c55e}
.sgw294-stat.offline{border-top-color:#ef4444}
.sgw294-stat.linked{border-top-color:#0ea5e9}
.sgw294-stat.unlinked{border-top-color:#8b5cf6}
.sgw294-stat.warn{border-top-color:#f59e0b}
.sgw294-stat.active{box-shadow:0 0 0 2px #bfdbfe inset;background:#f8fbff}

.sgw294-filterbox{
  display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(150px,.7fr));
  gap:8px;margin-bottom:13px;padding:10px;border:1px solid #dbe4ee;
  border-radius:11px;background:#fff
}
.sgw294-filterbox input,.sgw294-filterbox select{
  width:100%;height:40px;border:1px solid #cbd5e1;border-radius:8px;
  background:#fff;padding:0 10px;font-size:10px;box-sizing:border-box;min-width:0
}

.sgw294-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.sgw294-card{
  min-width:0;border:1px solid #dbe4ee;border-radius:13px;background:#fff;
  overflow:hidden;box-shadow:0 2px 9px #0f172a0b
}
.sgw294-card-head{
  min-height:62px;padding:11px 12px;display:flex;justify-content:space-between;
  align-items:flex-start;gap:9px;background:#f8fafc;border-bottom:1px solid #e2e8f0
}
.sgw294-card-head h3{margin:4px 0 0;font-size:13px;color:#0f172a;overflow-wrap:anywhere}
.sgw294-card-head small{display:block;margin-top:2px;font-size:8px;color:#64748b}
.sgw294-tech{font-size:8px;font-weight:900;color:#2563eb}
.sgw294-status{
  flex:0 0 auto;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900
}
.sgw294-status.online{background:#dcfce7;color:#166534}
.sgw294-status.offline{background:#fee2e2;color:#991b1b}
.sgw294-status.sem_leitura{background:#f1f5f9;color:#475569}
.sgw294-signal{
  margin:10px 12px 0;border-radius:9px;padding:10px 12px;
  display:flex;align-items:center;justify-content:space-between;background:#f1f5f9
}
.sgw294-signal strong{font-size:18px;color:#334155}
.sgw294-signal span{font-size:8px;color:#64748b;font-weight:800}
.sgw294-signal.bom{background:#dcfce7}.sgw294-signal.bom strong{color:#15803d}
.sgw294-signal.atencao{background:#fef3c7}.sgw294-signal.atencao strong{color:#d97706}
.sgw294-signal.critico{background:#fee2e2}.sgw294-signal.critico strong{color:#dc2626}
.sgw294-info{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
  padding:10px 12px
}
.sgw294-info>div{
  min-width:0;padding:7px 8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc
}
.sgw294-info span{display:block;font-size:7.5px;font-weight:900;color:#64748b}
.sgw294-info b{display:block;margin-top:2px;font-size:9.5px;color:#0f172a;overflow-wrap:anywhere}
.sgw294-info small{display:block;font-size:8px;color:#64748b}
.sgw294-info .q.bom{color:#15803d}.sgw294-info .q.atencao{color:#d97706}.sgw294-info .q.critico{color:#dc2626}
.sgw294-clientbox{
  margin:0 12px 12px;padding:9px;border:1px solid #fed7aa;border-radius:9px;
  background:#fff7ed;display:flex;justify-content:space-between;align-items:center;gap:8px
}
.sgw294-clientbox.linked{border-color:#bae6fd;background:#f0f9ff}
.sgw294-clientbox span{display:block;font-size:7.5px;font-weight:900;color:#64748b}
.sgw294-clientbox b{display:block;font-size:10px;color:#0f172a;margin-top:2px}
.sgw294-clientbox small{display:block;font-size:8px;color:#64748b;margin-top:2px}
.sgw294-clientbox a{
  flex:0 0 auto;text-decoration:none;border-radius:7px;background:#2563eb;color:#fff;
  padding:6px 8px;font-size:8px;font-weight:900
}
.sgw294-empty{
  padding:35px;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;
  background:#fff;color:#64748b;font-size:11px
}

@media(max-width:1250px){
  .sgw294-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sgw294-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:850px){
  .sgw294-grid{grid-template-columns:1fr}
  .sgw294-summary{grid-template-columns:repeat(2,1fr)}
  .sgw294-filterbox{grid-template-columns:1fr}
  .sgw294-selector{grid-template-columns:1fr}
  .sgw294-edit-linked{grid-template-columns:1fr}
  .sgw294-profile-onu{min-width:0;max-width:100%;margin:5px 0}
}


/* SGW V295 - MAC/VLAN mais visíveis */
.sgw294-profile-onu{min-width:330px;max-width:520px}
.sgw294-profile-onu small strong{font-weight:900;color:inherit}
.sgw294-edit-main small strong{font-weight:900;color:#334155}
.sgw294-info>div{min-height:46px}


/* ================================================================
   SGW V295 R2 - RESPONSIVO CELULAR / TABLET
   Corrige:
   - card ONU do cabeçalho estourando a largura;
   - formulário de vínculo ficando lado a lado no celular;
   - cards de Redes comprimidos ou maiores que a tela;
   - botões pequenos/difíceis de tocar;
   - filtros, resumo e cliente vinculado fora do enquadramento.
   ================================================================ */

html, body {
  max-width: 100%;
}

/* Todos os componentes desta integração respeitam a largura disponível. */
.sgw294-page,
.sgw294-head,
.sgw294-summary,
.sgw294-filterbox,
.sgw294-grid,
.sgw294-card,
.sgw294-client-onu-box,
.sgw294-profile-onu,
.sgw294-edit-linked,
.sgw294-selector,
.sgw294-clientbox {
  box-sizing: border-box;
  min-width: 0;
}

/* Tablet */
@media (max-width: 1024px) {
  .sgw294-page {
    width: 100%;
    max-width: 100%;
    padding: 8px 8px 22px;
    overflow-x: hidden;
  }

  .sgw294-head {
    flex-direction: column;
    gap: 10px;
  }

  .sgw294-head h1 {
    font-size: 25px;
    line-height: 1.08;
  }

  .sgw294-head p {
    max-width: 100%;
  }

  .sgw294-back {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }

  .sgw294-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sgw294-filterbox {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sgw294-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sgw294-profile-onu {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Celular */
@media (max-width: 768px) {
  #sgw294Toast {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    max-width: none;
    padding: 12px;
    font-size: 12px;
  }

  /* Página ONU/ONT DAS OLT */
  .sgw294-page {
    width: 100%;
    max-width: 100%;
    padding: 6px 5px 18px;
    margin: 0;
    overflow-x: hidden;
  }

  .sgw294-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 9px;
    margin-bottom: 10px;
  }

  .sgw294-kicker {
    font-size: 9px;
  }

  .sgw294-head h1 {
    font-size: 22px;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  .sgw294-head p {
    font-size: 10px;
    line-height: 1.35;
  }

  .sgw294-back {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .sgw294-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .sgw294-stat {
    min-width: 0;
    min-height: 86px;
    padding: 9px 10px;
    overflow: hidden;
  }

  .sgw294-stat span {
    font-size: 8px;
    overflow-wrap: anywhere;
  }

  .sgw294-stat strong {
    font-size: 21px;
  }

  .sgw294-stat small {
    font-size: 7.5px;
    line-height: 1.15;
  }

  .sgw294-filterbox {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 8px;
  }

  .sgw294-filterbox input,
  .sgw294-filterbox select {
    min-height: 44px;
    height: 44px;
    font-size: 16px; /* evita zoom automático do iPhone */
  }

  .sgw294-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .sgw294-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .sgw294-card-head {
    min-height: 0;
    padding: 10px;
    gap: 7px;
  }

  .sgw294-card-head > div {
    min-width: 0;
    flex: 1 1 auto;
  }

  .sgw294-card-head h3 {
    font-size: 12px;
    line-height: 1.18;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .sgw294-status {
    flex: 0 0 auto;
    max-width: 90px;
    padding: 5px 6px;
    font-size: 7.5px;
    white-space: normal;
    text-align: center;
    line-height: 1.05;
  }

  .sgw294-signal {
    margin: 8px 9px 0;
    padding: 9px 10px;
    gap: 8px;
  }

  .sgw294-signal strong {
    font-size: 17px;
    overflow-wrap: anywhere;
  }

  .sgw294-signal span {
    text-align: right;
    line-height: 1.1;
  }

  .sgw294-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px 9px;
    gap: 5px;
  }

  .sgw294-info > div {
    min-width: 0;
    min-height: 50px;
    padding: 7px;
    overflow: hidden;
  }

  .sgw294-info b,
  .sgw294-info small {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .sgw294-clientbox {
    margin: 0 9px 9px;
    padding: 9px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .sgw294-clientbox > div {
    min-width: 0;
  }

  .sgw294-clientbox a {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 9px;
  }

  /* Cabeçalho do perfil do cliente.
     O V295 tinha min-width:330px depois do @media antigo,
     o que causava estouro horizontal no celular. */
  .sgw294-profile-onu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 7px 0 0 !important;
    padding: 8px 9px;
    overflow: hidden;
  }

  .sgw294-profile-onu span {
    font-size: 8px;
  }

  .sgw294-profile-onu b {
    font-size: 10px;
    line-height: 1.2;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .sgw294-profile-onu small {
    font-size: 8px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  /* Editar Cliente -> ONU/ONT */
  .sgw294-client-onu-box {
    width: 100%;
    max-width: 100%;
    margin: 8px 0;
    padding: 9px;
    overflow: hidden;
  }

  .sgw294-edit-head {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .sgw294-edit-head h3 {
    font-size: 13px;
  }

  .sgw294-edit-head p {
    font-size: 9px;
  }

  .sgw294-edit-state {
    align-self: flex-start;
    white-space: normal;
    line-height: 1.15;
  }

  .sgw294-edit-linked {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 8px;
  }

  .sgw294-edit-signal {
    width: 100%;
    box-sizing: border-box;
  }

  .sgw294-edit-main {
    min-width: 0;
  }

  .sgw294-edit-main b,
  .sgw294-edit-main span,
  .sgw294-edit-main small {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .sgw294-unlink {
    width: 100%;
    min-height: 42px;
    font-size: 10px;
  }

  .sgw294-selector {
    grid-template-columns: 1fr !important;
    width: 100%;
    max-width: 100%;
    gap: 7px;
  }

  .sgw294-selector input,
  .sgw294-selector select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 44px;
    min-height: 44px;
    font-size: 16px; /* evita zoom automático no Safari iOS */
  }

  .sgw294-selector select {
    text-overflow: ellipsis;
  }

  .sgw294-link-btn {
    width: 100%;
    min-height: 44px;
    padding: 9px 10px;
    font-size: 11px;
  }
}

/* Celulares muito estreitos */
@media (max-width: 420px) {
  .sgw294-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sgw294-info {
    grid-template-columns: 1fr;
  }

  .sgw294-card-head {
    flex-direction: column;
    align-items: stretch;
  }

  .sgw294-status {
    max-width: none;
    align-self: flex-start;
  }

  .sgw294-signal {
    flex-direction: column;
    align-items: flex-start;
  }

  .sgw294-signal span {
    text-align: left;
  }
}

/* Landscape de celular: aproveita largura sem gerar barra horizontal */
@media (max-height: 520px) and (orientation: landscape) {
  .sgw294-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sgw294-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* SGW V296 - diagnóstico MAC/VLAN */
.sgw296-diag-btn{background:#fff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
.sgw296-diag-overlay{
  position:fixed;inset:0;z-index:999999;background:#0f172a99;
  display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box
}
.sgw296-diag-modal{
  width:min(980px,100%);max-height:90vh;overflow:auto;background:#fff;
  border-radius:15px;box-shadow:0 25px 70px #0005;box-sizing:border-box
}
.sgw296-diag-modal>header{
  position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #e2e8f0;
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 17px
}
.sgw296-diag-modal header span{font-size:8px;font-weight:900;color:#2563eb}
.sgw296-diag-modal header h2{margin:2px 0;font-size:20px;color:#0f172a}
.sgw296-diag-modal header p{margin:0;font-size:9px;color:#64748b}
.sgw296-diag-close{
  flex:0 0 auto;width:36px;height:36px;border:0;border-radius:9px;background:#f1f5f9;
  font-size:22px;cursor:pointer
}
.sgw296-diag-loading{padding:42px 18px;text-align:center}
.sgw296-diag-loading b{display:block;color:#0f172a}
.sgw296-diag-loading small{display:block;margin-top:5px;color:#64748b}
.sgw296-diag-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:13px 16px
}
.sgw296-diag-summary>div{
  min-width:0;border:1px solid #dbe4ee;border-radius:10px;padding:9px;background:#f8fafc
}
.sgw296-diag-summary span{display:block;font-size:7.5px;font-weight:900;color:#64748b}
.sgw296-diag-summary b{display:block;margin-top:4px;font-size:10px;color:#0f172a;overflow-wrap:anywhere}
.sgw296-diag-section{padding:4px 16px 12px}
.sgw296-diag-section h3{font-size:11px;color:#334155;margin:8px 0}
.sgw296-diag-row{
  border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:9px;
  padding:9px;margin-bottom:6px;background:#fff
}
.sgw296-diag-row.ok{border-left-color:#22c55e;background:#f8fff9}
.sgw296-diag-top{display:flex;justify-content:space-between;gap:10px}
.sgw296-diag-top b{font-size:10px;color:#0f172a;overflow-wrap:anywhere}
.sgw296-diag-top span{font-size:8px;font-weight:900;color:#64748b}
.sgw296-diag-row small{display:block;margin-top:4px;font-size:8px;color:#64748b}
.sgw296-diag-row small.err{color:#b91c1c}
.sgw296-diag-row details{margin-top:6px}
.sgw296-diag-row summary{cursor:pointer;font-size:8px;font-weight:900;color:#2563eb}
.sgw296-diag-row pre{
  max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word;
  background:#0f172a;color:#dbeafe;border-radius:7px;padding:8px;font-size:8px
}
.sgw296-diag-note{
  margin:0 16px 16px;padding:9px;border:1px solid #bfdbfe;border-radius:9px;
  background:#eff6ff;color:#1e40af;font-size:8.5px
}
.sgw296-empty{padding:12px;color:#64748b;background:#f8fafc;border-radius:8px}

@media(max-width:768px){
  .sgw296-diag-overlay{padding:0;align-items:stretch}
  .sgw296-diag-modal{width:100%;height:100%;max-height:100vh;border-radius:0}
  .sgw296-diag-modal>header{padding:12px}
  .sgw296-diag-modal header h2{font-size:17px}
  .sgw296-diag-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:6px}
  .sgw296-diag-section{padding:3px 10px 10px}
  .sgw296-diag-top{flex-direction:column;gap:3px}
  .sgw296-diag-note{margin:0 10px 12px}
  .sgw296-diag-btn{min-height:40px!important}
}


/* SGW V297 - salvar MAC/VLAN após diagnóstico */
.sgw296-diag-actions{
  margin:4px 16px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  border-radius:10px;
  padding:10px;
}
.sgw297-sync-macvlan{
  flex:0 0 auto;
  border:1px solid #16a34a;
  background:#16a34a;
  color:#fff;
  border-radius:9px;
  min-height:40px;
  padding:8px 12px;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.sgw297-sync-macvlan:disabled{opacity:.7;cursor:wait}
.sgw297-sync-status{
  min-width:0;
  color:#166534;
  font-size:8.5px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

@media(max-width:768px){
  .sgw296-diag-actions{
    margin:4px 10px 10px;
    flex-direction:column;
    align-items:stretch;
  }
  .sgw297-sync-macvlan{
    width:100%;
    min-height:46px;
    font-size:11px;
  }
}

/* ================================================================
   SGW V298 - TELA DE SINCRONIZACAO MAC/VLAN
   - deixa claro que a OLT e somente lida;
   - mostra inventario salvo por ONU/ONT;
   - progresso real da sincronizacao;
   - estado completo/parcial/sem dados.
   ================================================================ */
.sgw298-sync-modal{width:min(1180px,100%)}
.sgw298-safe-note{
  margin:14px 16px 4px;padding:11px 13px;border:1px solid #bbf7d0;
  background:#f0fdf4;border-radius:11px;display:flex;gap:10px;align-items:flex-start
}
.sgw298-safe-note b{color:#166534;white-space:nowrap;font-size:10px}
.sgw298-safe-note span{color:#166534;font-size:9px;line-height:1.45}
.sgw298-command-summary{padding-top:9px}
.sgw298-saved-section{padding:2px 16px 8px}
.sgw298-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0}
.sgw298-section-title h3{margin:0;color:#0f172a;font-size:14px}
.sgw298-section-title p{margin:3px 0 0;color:#64748b;font-size:9px}
.sgw298-saved-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:9px}
.sgw298-saved-summary>div{border:1px solid #dbe4ee;background:#f8fafc;border-radius:10px;padding:9px;min-width:0}
.sgw298-saved-summary>div.ok{border-color:#bbf7d0;background:#f0fdf4}
.sgw298-saved-summary>div.warn{border-color:#fde68a;background:#fffbeb}
.sgw298-saved-summary span{display:block;font-size:7.5px;font-weight:900;color:#64748b}
.sgw298-saved-summary b{display:block;margin-top:3px;font-size:17px;color:#0f172a}
.sgw298-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow:auto;max-height:355px;background:#fff}
.sgw298-inventory-table{width:100%;border-collapse:collapse;min-width:900px}
.sgw298-inventory-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#64748b;font-size:7.5px;font-weight:900;padding:9px;border-bottom:1px solid #e2e8f0}
.sgw298-inventory-table td{padding:9px;border-bottom:1px solid #eef2f7;vertical-align:top}
.sgw298-inventory-table td b{display:block;color:#0f172a;font-size:9.5px;overflow-wrap:anywhere}
.sgw298-inventory-table td small{display:block;margin-top:3px;color:#64748b;font-size:7.5px;overflow-wrap:anywhere}
.sgw298-inventory-table tr.ok td:first-child{border-left:3px solid #22c55e}
.sgw298-inventory-table tr.partial td:first-child{border-left:3px solid #f59e0b}
.sgw298-inventory-table tr.missing td:first-child{border-left:3px solid #ef4444}
.sgw298-state{display:inline-block;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:900;white-space:nowrap}
.sgw298-state.ok{background:#dcfce7;color:#166534}
.sgw298-state.partial{background:#fef3c7;color:#92400e}
.sgw298-state.missing{background:#fee2e2;color:#991b1b}
.sgw298-inventory-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;text-align:center;font-size:9px}
.sgw298-sync-actions{align-items:stretch}
.sgw298-progress-area{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.sgw298-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sgw298-progress-pct{color:#166534;font-size:9px;white-space:nowrap}
.sgw298-progress{height:7px;background:#dcfce7;border-radius:999px;overflow:hidden;margin-top:7px}
.sgw298-progress i{display:block;height:100%;background:#16a34a;border-radius:999px;transition:width .2s ease}
.sgw298-technical{margin:0 16px 12px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc;overflow:hidden}
.sgw298-technical>summary{cursor:pointer;padding:10px 12px;color:#1d4ed8;font-size:9px;font-weight:900;list-style-position:inside}
.sgw298-technical[open]>summary{border-bottom:1px solid #e2e8f0;background:#eff6ff}

@media(max-width:900px){
  .sgw298-saved-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  .sgw298-safe-note{margin:10px;flex-direction:column;gap:4px}
  .sgw298-saved-section{padding:2px 10px 7px}
  .sgw298-saved-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sgw298-sync-actions{align-items:stretch}
  .sgw298-progress-top{align-items:flex-start}
  .sgw298-technical{margin:0 10px 10px}
}


/* ================================================================
   SGW V299 - AJUSTE VISUAL DA TELA MAC/VLAN
   Corrige modal escondido pela sidebar e prioriza a sincronizacao.
   ================================================================ */
html.sgw299-modal-open{overflow:hidden!important}
.sgw299-diag-overlay{
  left:var(--sgw299-sidebar-offset,246px)!important;
  right:0!important;top:0!important;bottom:0!important;
  width:auto!important;
  z-index:2147483600!important;
  padding:14px!important;
  background:rgba(15,23,42,.58)!important;
  backdrop-filter:blur(2px);
  box-sizing:border-box!important;
}
.sgw299-sync-modal{
  width:min(1080px,100%)!important;
  max-height:calc(100vh - 28px)!important;
  border-radius:16px!important;
  overflow:auto!important;
  box-shadow:0 24px 70px rgba(15,23,42,.32)!important;
}
.sgw299-sync-modal>header{
  padding:17px 20px!important;
  align-items:center!important;
}
.sgw299-sync-modal>header>div{min-width:0}
.sgw299-sync-modal header span{
  font-size:10px!important;letter-spacing:.06em!important;color:#2563eb!important
}
.sgw299-sync-modal header h2{
  margin:3px 0 2px!important;font-size:24px!important;line-height:1.15!important
}
.sgw299-sync-modal header p{
  font-size:11px!important;line-height:1.35!important;white-space:normal!important
}
.sgw299-sync-modal .sgw296-diag-close{
  width:38px!important;height:38px!important;font-size:22px!important;
  display:flex!important;align-items:center!important;justify-content:center!important
}
.sgw299-main{padding:0 0 14px}
.sgw299-safe-note{
  margin:14px 18px 10px!important;padding:12px 14px!important;
  align-items:center!important;gap:11px!important
}
.sgw299-safe-note>div:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.sgw299-safe-note b{font-size:11px!important}
.sgw299-safe-note span{font-size:10px!important;line-height:1.45!important}
.sgw299-safe-icon{
  width:30px;height:30px;flex:0 0 30px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:#16a34a;color:#fff;font-size:16px;font-weight:950
}
.sgw299-sync-actions{
  margin:0 18px 14px!important;padding:12px!important;gap:14px!important;
  border-color:#86efac!important;background:#f0fdf4!important
}
.sgw299-sync-actions .sgw297-sync-macvlan{
  min-height:44px!important;padding:10px 17px!important;border-radius:10px!important;
  font-size:11px!important;letter-spacing:.01em!important;white-space:nowrap!important
}
.sgw299-sync-actions .sgw297-sync-status{font-size:10px!important;line-height:1.4!important}
.sgw299-sync-actions .sgw298-progress-pct{font-size:10px!important}
.sgw299-sync-actions .sgw298-progress{height:8px!important;margin-top:8px!important}
.sgw299-saved-section{padding:0 18px 8px!important}
.sgw299-saved-section .sgw298-section-title{margin:6px 0 10px!important}
.sgw299-saved-section .sgw298-section-title h3{font-size:15px!important}
.sgw299-saved-section .sgw298-section-title p{font-size:10px!important}
.sgw299-saved-section .sgw298-saved-summary{gap:8px!important;margin-bottom:10px!important}
.sgw299-saved-section .sgw298-saved-summary>div{padding:10px 11px!important}
.sgw299-saved-section .sgw298-saved-summary span{font-size:8px!important}
.sgw299-saved-section .sgw298-saved-summary b{font-size:18px!important}
.sgw299-saved-section .sgw298-table-wrap{max-height:310px!important}
.sgw299-saved-section .sgw298-inventory-table th{
  font-size:8.5px!important;padding:10px!important;text-align:left!important
}
.sgw299-saved-section .sgw298-inventory-table td{padding:10px!important}
.sgw299-saved-section .sgw298-inventory-table td b{font-size:10.5px!important}
.sgw299-saved-section .sgw298-inventory-table td small{font-size:8.5px!important}
.sgw299-saved-section .sgw298-state{font-size:8px!important;padding:5px 8px!important}
.sgw299-saved-section .sgw298-inventory-empty{font-size:10px!important;padding:16px!important}
.sgw299-technical{margin:4px 18px 0!important;background:#fff!important}
.sgw299-technical>summary{
  padding:11px 13px!important;font-size:10px!important;color:#1d4ed8!important
}
.sgw299-command-summary{padding:12px!important}
.sgw299-command-summary>div{padding:10px!important}
.sgw299-command-summary span{font-size:8px!important}
.sgw299-command-summary b{font-size:11px!important;line-height:1.35!important}
.sgw299-vlan-card small{
  display:block;margin-top:5px;color:#64748b;font-size:8px;line-height:1.35;overflow-wrap:anywhere
}
.sgw299-technical .sgw296-diag-section h3{font-size:11px!important}
.sgw299-technical .sgw296-diag-top b{font-size:10px!important}
.sgw299-technical .sgw296-diag-row small{font-size:8.5px!important}
.sgw299-loading{padding:54px 20px!important}
.sgw299-loading b{font-size:15px!important}
.sgw299-loading small{font-size:10px!important}

@media(max-width:900px){
  .sgw299-diag-overlay{padding:10px!important}
  .sgw299-sync-modal{max-height:calc(100vh - 20px)!important}
  .sgw299-sync-modal header h2{font-size:20px!important}
  .sgw299-sync-actions{flex-direction:column!important}
  .sgw299-sync-actions .sgw297-sync-macvlan{width:100%!important}
  .sgw299-saved-section .sgw298-saved-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:759px){
  .sgw299-diag-overlay{left:0!important;padding:0!important;align-items:stretch!important}
  .sgw299-sync-modal{width:100%!important;height:100%!important;max-height:100vh!important;border-radius:0!important}
  .sgw299-sync-modal>header{padding:13px 14px!important}
  .sgw299-sync-modal header h2{font-size:18px!important}
  .sgw299-safe-note,.sgw299-sync-actions{margin-left:10px!important;margin-right:10px!important}
  .sgw299-saved-section{padding-left:10px!important;padding-right:10px!important}
  .sgw299-technical{margin-left:10px!important;margin-right:10px!important}
  .sgw299-saved-section .sgw298-saved-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ================================================================
   SGW V300 - MAC/VLAN COMPACTO + DIAGNOSTICO SOB DEMANDA
   - tela principal curta e focada em sincronizacao;
   - diagnostico tecnico nao executa ao abrir o modal;
   - area tecnica com rolagem interna para nao alongar a pagina.
   ================================================================ */
.sgw300-sync-modal{overflow:hidden!important;display:flex!important;flex-direction:column!important}
.sgw300-sync-modal>header{flex:0 0 auto!important}
.sgw300-main{min-height:0!important;overflow:auto!important;padding-bottom:12px!important}
.sgw300-main-loading{
  padding:46px 20px;text-align:center;display:flex;flex-direction:column;gap:5px;
  color:#334155
}
.sgw300-main-loading b{font-size:14px}.sgw300-main-loading small{font-size:10px;color:#64748b}
.sgw300-safe-note{margin-bottom:9px!important}
.sgw300-sync-actions{margin-bottom:10px!important}
.sgw300-saved-section{padding-bottom:3px!important}
.sgw300-section-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important}
.sgw300-readonly-badge{
  flex:0 0 auto;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;
  border-radius:999px;padding:5px 8px;font-size:7.5px;font-weight:900;letter-spacing:.04em
}
.sgw300-saved-section .sgw298-table-wrap{max-height:260px!important}
.sgw300-technical{margin-top:8px!important}
.sgw300-technical>summary{
  display:flex!important;align-items:center!important;gap:8px!important;
  list-style:none!important;user-select:none
}
.sgw300-technical>summary::-webkit-details-marker{display:none}
.sgw300-technical>summary::before{content:'▸';font-size:11px;color:#2563eb;transition:transform .15s ease}
.sgw300-technical[open]>summary::before{transform:rotate(90deg)}
.sgw300-technical>summary small{font-size:8px!important;color:#64748b!important;font-weight:700!important}
.sgw300-tech-actions{
  display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;
  border-bottom:1px solid #e2e8f0
}
.sgw300-tech-actions button{
  border:0;border-radius:8px;background:#2563eb;color:#fff;padding:8px 11px;
  font-size:9px;font-weight:900;cursor:pointer
}
.sgw300-tech-actions button:disabled{opacity:.65;cursor:wait}
.sgw300-tech-actions span{font-size:8.5px;color:#64748b;line-height:1.35}
.sgw300-tech-holder:empty{display:none}
.sgw300-command-summary{margin:0!important;border:0!important;border-bottom:1px solid #e2e8f0!important;border-radius:0!important}
.sgw300-tech-scroll{
  max-height:390px;overflow:auto;padding:10px;background:#fff;scrollbar-gutter:stable
}
.sgw300-tech-scroll .sgw296-diag-section{margin:0 0 12px!important;padding:0!important}
.sgw300-tech-scroll .sgw296-diag-section:last-child{margin-bottom:0!important}
.sgw300-tech-scroll .sgw296-diag-row{margin-bottom:7px!important}
.sgw300-tech-loading,.sgw300-tech-error{
  margin:10px 12px;padding:13px;border:1px dashed #cbd5e1;border-radius:9px;
  background:#f8fafc;display:flex;flex-direction:column;gap:3px
}
.sgw300-tech-loading b,.sgw300-tech-error b{font-size:10px;color:#0f172a}
.sgw300-tech-loading small,.sgw300-tech-error small{font-size:8.5px;color:#64748b}
.sgw300-tech-error{border-color:#fecaca;background:#fef2f2}.sgw300-tech-error b{color:#b91c1c}
.sgw300-technical .sgw296-diag-note{margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important}

@media(max-width:759px){
  .sgw300-main{padding-bottom:8px!important}
  .sgw300-section-title{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}
  .sgw300-readonly-badge{align-self:flex-start}
  .sgw300-tech-actions{align-items:stretch;flex-direction:column}
  .sgw300-tech-actions button{width:100%;min-height:42px;font-size:10px}
  .sgw300-tech-scroll{max-height:44vh}
}

/* ================================================================
   SGW V302 - VISÃO COMPLETA ONU/ONT + MAC/VLAN
   ================================================================ */
.sgw297-sync-status.warn{color:#92400e!important;font-weight:800}
.sgw297-sync-status.ok{color:#166534!important;font-weight:800}
.sgw302-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.01em}
.sgw302-cell-label{display:block;margin-top:5px;font-size:7px;font-weight:950;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.sgw302-conn{display:inline-block;margin-top:5px;border-radius:999px;padding:3px 6px;font-size:7.5px;font-weight:900;background:#f1f5f9;color:#475569}
.sgw302-conn.online{background:#dcfce7;color:#166534}.sgw302-conn.offline{background:#fee2e2;color:#991b1b}

.sgw302-inventory-table{table-layout:fixed!important;min-width:0!important;width:100%!important}
.sgw302-inventory-table th,.sgw302-inventory-table td{overflow-wrap:anywhere!important;word-break:normal!important}
.sgw302-inventory-table th:nth-child(1),.sgw302-inventory-table td:nth-child(1){width:17%}
.sgw302-inventory-table th:nth-child(2),.sgw302-inventory-table td:nth-child(2){width:13%}
.sgw302-inventory-table th:nth-child(3),.sgw302-inventory-table td:nth-child(3){width:14%}
.sgw302-inventory-table th:nth-child(4),.sgw302-inventory-table td:nth-child(4){width:15%}
.sgw302-inventory-table th:nth-child(5),.sgw302-inventory-table td:nth-child(5){width:12%}
.sgw302-inventory-table th:nth-child(6),.sgw302-inventory-table td:nth-child(6){width:10%}
.sgw302-inventory-table th:nth-child(7),.sgw302-inventory-table td:nth-child(7){width:9%}
.sgw302-inventory-table th:nth-child(8),.sgw302-inventory-table td:nth-child(8){width:10%}
.sgw300-saved-section .sgw302-table-wrap{max-height:390px!important;overflow:auto!important}
.sgw299-sync-modal.sgw300-sync-modal{width:min(1260px,100%)!important}

.sgw302-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.sgw294-stat.mac{border-top-color:#14b8a6}.sgw294-stat.vlan{border-top-color:#06b6d4}.sgw294-stat.complete{border-top-color:#22c55e}
.sgw302-filterbox{grid-template-columns:minmax(300px,1.7fr) repeat(3,minmax(150px,.8fr))!important}
.sgw302-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.sgw302-card{padding:0!important;overflow:hidden!important}
.sgw302-card-head{padding:13px 14px!important;background:#f8fbff;border-bottom:1px solid #e2e8f0}
.sgw302-head-badges{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.sgw302-complete{display:inline-block;border-radius:999px;padding:5px 8px;font-size:7.5px;font-weight:950;white-space:nowrap}
.sgw302-complete.ok{background:#dcfce7;color:#166534}.sgw302-complete.partial{background:#fef3c7;color:#92400e}
.sgw302-card-sections{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px;background:#f8fafc}
.sgw302-card-section{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:9px;min-width:0}
.sgw302-card-section h4{margin:0 0 7px;color:#334155;font-size:8px;font-weight:950;letter-spacing:.05em}
.sgw302-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.sgw302-fields>div{border:1px solid #edf2f7;background:#fbfdff;border-radius:7px;padding:6px;min-width:0}
.sgw302-fields>div.wide{grid-column:1/-1}
.sgw302-fields span{display:block;font-size:6.8px;font-weight:950;color:#64748b;text-transform:uppercase}
.sgw302-fields b{display:block;margin-top:2px;font-size:8.8px;color:#0f172a;overflow-wrap:anywhere}
.sgw302-fields small{display:block;margin-top:2px;font-size:7.3px;color:#64748b;overflow-wrap:anywhere}
.sgw302-fields .q.bom{color:#15803d}.sgw302-fields .q.atencao{color:#d97706}.sgw302-fields .q.critico{color:#dc2626}
.sgw302-learned{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:7.5px!important;line-height:1.35}
.sgw302-signal-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:7px;align-items:stretch}
.sgw302-signal-row .sgw294-signal{margin:0!important;min-height:100%;display:flex;flex-direction:column;justify-content:center}
.sgw302-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.sgw302-card>.sgw294-clientbox{margin:0 10px 10px!important}

@media(max-width:1200px){
  .sgw302-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .sgw302-grid{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  .sgw302-filterbox{grid-template-columns:1fr 1fr!important}
  .sgw302-inventory-table{min-width:1180px!important;table-layout:auto!important}
  .sgw302-table-wrap{overflow-x:auto!important}
}
@media(max-width:700px){
  .sgw302-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sgw302-filterbox{grid-template-columns:1fr!important}
  .sgw302-card-sections{grid-template-columns:1fr}
  .sgw302-signal-row{grid-template-columns:1fr}
  .sgw302-head-badges{align-items:flex-start}
  .sgw302-card-head{align-items:flex-start!important}
}


/* ================================================================
   SGW V307 - MODAL CLIENTE: ONU/COMODATO SEM SUMIR + RODAPE FIXO
   ================================================================ */
/* O rodapé fica numa faixa própria do modal. O formulário termina acima dele,
   portanto o botão Atualizar continua visível sem cobrir ONU/ONT/autenticações. */
.sgw159-edit-window{
  --sgw307-client-footer-h:64px;
  overflow:hidden!important;
}
.sgw159-edit-window > .cliente-long-form{
  height:calc(92vh - 74px - var(--sgw307-client-footer-h))!important;
  max-height:calc(92vh - 74px - var(--sgw307-client-footer-h))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:18px!important;
  scrollbar-gutter:stable;
}
.sgw159-edit-window .sgw159-sticky-actions{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:auto!important;
  min-height:var(--sgw307-client-footer-h)!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  background:#fff!important;
  border-top:1px solid #dbe4ee!important;
  box-shadow:0 -8px 22px rgba(15,23,42,.07)!important;
  z-index:40!important;
}
.sgw159-edit-window .sgw159-sticky-actions .btn{
  min-width:108px;
}
/* O card ONU/ONT deve ficar fora do host V186 que é substituído por innerHTML. */
.sgw159-edit-window > .cliente-long-form > .sgw294-client-onu-box{
  position:relative;
  z-index:1;
}

@media(max-width:980px){
  .sgw159-edit-window{
    --sgw307-client-footer-h:68px;
    min-height:94vh!important;
    max-height:94vh!important;
  }
  .sgw159-edit-window > .cliente-long-form{
    height:calc(94vh - 74px - var(--sgw307-client-footer-h))!important;
    max-height:calc(94vh - 74px - var(--sgw307-client-footer-h))!important;
  }
  .sgw159-edit-window .sgw159-sticky-actions{
    position:absolute!important;
    padding:10px 16px!important;
  }
}


/* ================================================================
   SGW V308 - PERFIL CLIENTE: ONU COMPACTA + MULTIPLOS COMODATOS
   Ordem dentro do host V187: CTO -> ONU/ONT -> Comodatos -> Auth.
   ================================================================ */
.sgw308-client-onu-box,
.sgw308-client-comodato-box{
  background:#fff;
  border:1px solid #dbe3ee;
  border-radius:12px;
  box-sizing:border-box;
  min-width:0;
}

/* ONU/ONT bem menor que na V307. */
.sgw308-client-onu-box{
  margin:0!important;
  padding:9px 10px!important;
  background:#f8fbff!important;
}
.sgw308-onu-head{
  margin:0 0 6px!important;
  align-items:center!important;
}
.sgw308-onu-head h3{
  font-size:14px!important;
  margin:0!important;
  line-height:1.1!important;
}
.sgw308-onu-head p{
  margin:2px 0 0!important;
  font-size:8px!important;
}
.sgw308-onu-head-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;
}
.sgw308-onu-head-actions .sgw294-edit-state{
  padding:4px 7px!important;font-size:7px!important;
}
.sgw308-onu-toggle,
.sgw308-comodato-toggle{
  border:0;border-radius:7px;background:#16a34a;color:#fff;
  padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap;
}
.sgw308-onu-linked{
  grid-template-columns:82px minmax(0,1fr) auto!important;
  padding:6px!important;gap:7px!important;margin:0!important;
}
.sgw308-onu-linked .sgw294-edit-signal{
  padding:6px!important;border-radius:7px!important;
}
.sgw308-onu-linked .sgw294-edit-signal b{font-size:10px!important}
.sgw308-onu-linked .sgw294-edit-signal small{font-size:7px!important}
.sgw308-onu-linked .sgw294-edit-main b{font-size:9px!important}
.sgw308-onu-linked .sgw294-edit-main span{font-size:8px!important;margin-top:1px!important}
.sgw308-onu-linked .sgw294-edit-main small{font-size:7.5px!important;margin-top:1px!important}
.sgw308-onu-linked .sgw294-unlink{padding:6px 8px!important;font-size:8px!important}
.sgw308-client-onu-box .sgw294-linked-list{margin:0!important;gap:5px!important}
.sgw308-client-onu-box .sgw294-selector{
  display:none!important;
  grid-template-columns:minmax(130px,.65fr) minmax(250px,1.6fr) 90px!important;
  gap:6px!important;margin-top:7px!important;
  padding-top:7px;border-top:1px dashed #dbe4ee;
}
.sgw308-client-onu-box .sgw294-selector.is-open{display:grid!important}
.sgw308-client-onu-box .sgw294-selector input,
.sgw308-client-onu-box .sgw294-selector select{height:32px!important;font-size:9px!important}
.sgw308-client-onu-box .sgw294-link-btn{height:32px!important;padding:0 9px!important;font-size:9px!important}
.sgw308-client-onu-box .sgw294-no-linked,
.sgw308-client-onu-box .sgw294-small-loading{padding:7px!important;font-size:8px!important}

/* Comodatos: vários equipamentos para o mesmo cliente. */
.sgw308-client-comodato-box{padding:10px;background:#fff}
.sgw308-comodato-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;
}
.sgw308-comodato-head h3{margin:0;font-size:14px;color:#0f172a;line-height:1.1}
.sgw308-comodato-head p{margin:2px 0 0;font-size:8px;color:#64748b}
.sgw308-comodato-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.sgw308-comodato-state{
  background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 7px;
  font-size:7px;font-weight:900;white-space:nowrap;
}
.sgw308-comodato-list{display:grid;gap:5px}
.sgw308-comodato-item{
  display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:7px;align-items:center;
  border:1px solid #e2e8f0;border-radius:8px;background:#fbfdff;padding:6px 7px;
}
.sgw308-comodato-icon{
  width:28px;height:28px;border-radius:7px;background:#eef2ff;display:grid;place-items:center;
  font-size:14px;
}
.sgw308-comodato-main{min-width:0}
.sgw308-comodato-main b{display:block;font-size:9px;color:#0f172a;overflow-wrap:anywhere}
.sgw308-comodato-main span{display:block;font-size:7.5px;color:#475569;margin-top:1px;overflow-wrap:anywhere}
.sgw308-comodato-main small{display:block;font-size:7px;color:#64748b;margin-top:1px}
.sgw308-comodato-return,
.sgw308-comodato-unlink-onu{
  border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:7px;
  padding:6px 8px;font-size:8px;font-weight:900;cursor:pointer;white-space:nowrap;
}
.sgw308-comodato-return:disabled,
.sgw308-comodato-unlink-onu:disabled{opacity:.55;cursor:wait}
.sgw308-comodato-empty{
  padding:8px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;
  color:#64748b;font-size:8px;
}
.sgw308-comodato-empty.error{color:#b91c1c}
.sgw308-comodato-add{
  display:none;grid-template-columns:minmax(260px,1fr) 100px;gap:7px;
  margin-top:7px;padding-top:7px;border-top:1px dashed #dbe4ee;
}
.sgw308-comodato-add.is-open{display:grid}
.sgw308-comodato-select{
  width:100%;height:34px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;
  padding:0 9px;font-size:9px;min-width:0;
}
.sgw308-comodato-add-btn{
  border:0;border-radius:7px;background:#2563eb;color:#fff;font-size:9px;font-weight:900;cursor:pointer;
}
.sgw308-comodato-add-btn:disabled{opacity:.55;cursor:wait}

/* Dentro do painel V187 os dois cards usam o mesmo espaçamento do Contrato/CTO/Auth. */
.v187-integrated > .sgw308-client-onu-box,
.v187-integrated > .sgw308-client-comodato-box{width:100%;margin:0!important}

@media(max-width:820px){
  .sgw308-onu-head,.sgw308-comodato-head{align-items:flex-start!important;flex-direction:column!important}
  .sgw308-onu-head-actions,.sgw308-comodato-head-actions{width:100%;justify-content:space-between}
  .sgw308-onu-linked{grid-template-columns:1fr!important}
  .sgw308-client-onu-box .sgw294-selector{grid-template-columns:1fr!important}
  .sgw308-comodato-item{grid-template-columns:30px minmax(0,1fr)}
  .sgw308-comodato-return,.sgw308-comodato-unlink-onu{grid-column:2;justify-self:start}
  .sgw308-comodato-add{grid-template-columns:1fr}
  .sgw308-comodato-add-btn{height:34px}
}


/* ================================================================
   SGW V309 - AJUSTES VISUAIS DO PERFIL DO CLIENTE
   1) Atualizar fixo no topo do modal.
   2) Sem faixa/rodape ocupando a parte inferior.
   3) Botao de tela cheia do mapa reduzido a um quadrado.
   ================================================================ */

/* V309: não reserva mais espaço para a antiga barra inferior. */
.sgw159-edit-window{
  --sgw307-client-footer-h:0px!important;
  position:relative!important;
  overflow:hidden!important;
}
.sgw159-edit-window > .cliente-long-form{
  height:calc(92vh - 74px)!important;
  max-height:calc(92vh - 74px)!important;
  padding-bottom:22px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* O próprio bloco de ações continua dentro do FORM, então o submit mantém
   exatamente o mesmo comportamento; apenas a posição visual muda. */
.sgw159-edit-window .sgw159-sticky-actions{
  position:absolute!important;
  top:24px!important;
  right:54px!important;
  left:auto!important;
  bottom:auto!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  z-index:90!important;
}
.sgw159-edit-window .sgw159-sticky-actions .btn{
  min-width:auto!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  box-shadow:0 7px 18px rgba(22,163,74,.16)!important;
  white-space:nowrap!important;
}
.sgw159-edit-window .sgw159-save-state{
  font-size:9px!important;
  min-height:0!important;
  white-space:nowrap!important;
}

/* V309: o antigo texto "Tela cheia" some e fica somente o quadradinho
   dentro do mapa. !important vence o CSS V190 injetado depois no HTML. */
.sgw190-fullscreen-btn{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  right:8px!important;
  top:8px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:5px!important;
  background:rgba(15,23,42,.88)!important;
  color:#fff!important;
  font-size:0!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 3px 10px rgba(0,0,0,.22)!important;
}
.sgw190-fullscreen-btn::before{
  content:"⛶";
  display:block;
  font-size:15px!important;
  line-height:1!important;
  color:#fff!important;
}

@media(max-width:980px){
  .sgw159-edit-window > .cliente-long-form{
    height:calc(94vh - 74px)!important;
    max-height:calc(94vh - 74px)!important;
    padding-bottom:20px!important;
  }
  .sgw159-edit-window .sgw159-sticky-actions{
    top:18px!important;
    right:48px!important;
    padding:0!important;
  }
  .sgw159-edit-window .sgw159-sticky-actions .btn{
    padding:7px 10px!important;
    font-size:10px!important;
  }
}

@media(max-width:560px){
  .sgw159-edit-window .sgw159-save-state{display:none!important}
  .sgw159-edit-window .sgw159-sticky-actions{right:42px!important;top:16px!important}
  .sgw159-edit-window .sgw159-sticky-actions .btn{padding:6px 9px!important;font-size:9px!important}
}


/* ==========================================================
 SGW V493 - ONU/ONT V294 TEMA CONSOLIDADO
 Perfil do cliente + editar cliente + Redes/ONU das OLT.
 Somente visual.
 Nao altera OLT, sinal, VLAN, vinculo, estoque ou API.
 ========================================================== */

/* Perfil - resumo ONU */
.sgw294-profile-onu{
  background:#071f3b !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
.sgw294-profile-onu span,
.sgw294-profile-onu small{
  color:#91afd0 !important;
}
.sgw294-profile-onu b{
  color:#f6faff !important;
}
.sgw294-profile-onu.good{
  background:#0d3528 !important;
  border-color:#217a57 !important;
}
.sgw294-profile-onu.good b{color:#9ff2c7 !important}
.sgw294-profile-onu.warn{
  background:#3b300d !important;
  border-color:#866a14 !important;
}
.sgw294-profile-onu.warn b{color:#ffe08a !important}
.sgw294-profile-onu.bad{
  background:#401923 !important;
  border-color:#8f3548 !important;
}
.sgw294-profile-onu.bad b{color:#ffb3bd !important}
.sgw294-profile-onu.empty{
  background:#202d3d !important;
  border-color:#425267 !important;
}

/* Editar cliente / vincular ONU */
.sgw294-client-onu-box{
  background:#061a33 !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
.sgw294-edit-head h3{
  color:#f6faff !important;
}
.sgw294-edit-head p{
  color:#91afd0 !important;
}
.sgw294-edit-state{
  background:#0b3157 !important;
  color:#9dceff !important;
  border:1px solid #246799 !important;
}
.sgw294-edit-linked{
  background:#071f3b !important;
  color:#dcecff !important;
  border-color:#17466f !important;
}
.sgw294-edit-signal{
  background:#202d3d !important;
  color:#dcecff !important;
}
.sgw294-edit-signal small{
  color:#91afd0 !important;
}
.sgw294-edit-signal.good{
  background:#0d3528 !important;
  color:#9ff2c7 !important;
}
.sgw294-edit-signal.warn{
  background:#3b300d !important;
  color:#ffe08a !important;
}
.sgw294-edit-signal.bad{
  background:#401923 !important;
  color:#ffb3bd !important;
}
.sgw294-edit-main b{
  color:#f6faff !important;
}
.sgw294-edit-main span{
  color:#cfe2f7 !important;
}
.sgw294-edit-main small,
.sgw294-edit-main small strong{
  color:#91afd0 !important;
}
.sgw294-unlink{
  background:#401923 !important;
  color:#ffb3bd !important;
  border-color:#8f3548 !important;
}
.sgw294-no-linked,
.sgw294-small-loading{
  background:#04182f !important;
  color:#91afd0 !important;
  border-color:#24618e !important;
}
.sgw294-no-linked.error{
  color:#ff8996 !important;
}
.sgw294-selector input,
.sgw294-selector select{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
.sgw294-selector input::placeholder{
  color:#7897b8 !important;
}
.sgw294-link-btn{
  background:#15803d !important;
  color:#fff !important;
  border:1px solid #22c55e !important;
}

/* Página ONU/ONT DAS OLT */
.sgw294-page{
  color:#eaf4ff !important;
}
.sgw294-kicker{
  color:#60a5fa !important;
}
.sgw294-head h1{
  color:#f6faff !important;
}
.sgw294-head p{
  color:#91afd0 !important;
}
.sgw294-back{
  background:#0a294b !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}

/* KPIs */
.sgw294-stat{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
}
.sgw294-stat span,
.sgw294-stat small{
  color:#91afd0 !important;
}
.sgw294-stat strong{
  color:#f6faff !important;
}
.sgw294-stat.active{
  background:#0b3157 !important;
  box-shadow:0 0 0 2px #3b82f6 inset !important;
}

/* Filtros */
.sgw294-filterbox{
  background:#071f3b !important;
  border-color:#17466f !important;
}
.sgw294-filterbox input,
.sgw294-filterbox select{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}
.sgw294-filterbox input::placeholder{
  color:#7897b8 !important;
}

/* Cards ONU */
.sgw294-card{
  background:linear-gradient(180deg,#071f3b,#061a33) !important;
  color:#eaf4ff !important;
  border-color:#17466f !important;
  box-shadow:0 8px 24px rgba(0,0,0,.14) !important;
}
.sgw294-card-head{
  background:#0a2a4e !important;
  border-color:#17466f !important;
}
.sgw294-card-head h3{
  color:#f6faff !important;
}
.sgw294-card-head small{
  color:#91afd0 !important;
}
.sgw294-tech{
  color:#70b7ff !important;
}
.sgw294-status.online{
  background:#0d3b28 !important;
  color:#71f0ad !important;
}
.sgw294-status.offline{
  background:#40141f !important;
  color:#ff8996 !important;
}
.sgw294-status.sem_leitura{
  background:#202d3d !important;
  color:#aab9c9 !important;
}

/* Sinal */
.sgw294-signal{
  background:#202d3d !important;
}
.sgw294-signal strong{
  color:#dcecff !important;
}
.sgw294-signal span{
  color:#91afd0 !important;
}
.sgw294-signal.bom{
  background:#0d3528 !important;
}
.sgw294-signal.bom strong{
  color:#71f0ad !important;
}
.sgw294-signal.atencao{
  background:#3b300d !important;
}
.sgw294-signal.atencao strong{
  color:#ffe08a !important;
}
.sgw294-signal.critico{
  background:#401923 !important;
}
.sgw294-signal.critico strong{
  color:#ff8996 !important;
}

/* Dados técnicos */
.sgw294-info>div{
  background:#0a294b !important;
  color:#dcecff !important;
  border-color:#205985 !important;
}
.sgw294-info span,
.sgw294-info small{
  color:#91afd0 !important;
}
.sgw294-info b{
  color:#f6faff !important;
}

/* Cliente vinculado */
.sgw294-clientbox{
  background:#3b300d !important;
  color:#ffe8a6 !important;
  border-color:#866a14 !important;
}
.sgw294-clientbox.linked{
  background:#0b3157 !important;
  color:#cfe8ff !important;
  border-color:#246799 !important;
}
.sgw294-clientbox span,
.sgw294-clientbox small{
  color:#91afd0 !important;
}
.sgw294-clientbox b{
  color:#f6faff !important;
}
.sgw294-clientbox a{
  background:#2563eb !important;
  color:#fff !important;
}

/* Estado vazio */
.sgw294-empty{
  background:#04182f !important;
  color:#91afd0 !important;
  border-color:#24618e !important;
}

/* Modais/dialogs adicionais V294+ */
.sgw294-modal,
.sgw294-dialog,
[id^="sgw294"][class*="modal"] > div{
  background:#061a33 !important;
  color:#eaf4ff !important;
  border-color:#205985 !important;
}
.sgw294-modal input,
.sgw294-modal select,
.sgw294-modal textarea,
.sgw294-dialog input,
.sgw294-dialog select,
.sgw294-dialog textarea{
  background:#041a34 !important;
  color:#f1f8ff !important;
  border-color:#1a507f !important;
}

/* ==== SGW V579 ONU COMPACT START ==== */
@media (min-width:1180px){
  .sgw302-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  .sgw302-card-head{padding:8px 9px!important}
  .sgw302-card-head h3,.sgw294-card-head h3{font-size:11px!important;line-height:1.15!important}
  .sgw302-card-head small,.sgw294-card-head small{font-size:7px!important}
  .sgw302-card-sections{gap:5px!important;padding:6px!important}
  .sgw302-card-section{padding:5px!important;border-radius:7px!important}
  .sgw302-card-section h4{margin:0 0 4px!important;font-size:6.8px!important}
  .sgw302-fields{gap:4px!important}
  .sgw302-fields>div{padding:4px!important;border-radius:6px!important}
  .sgw302-fields span{font-size:5.8px!important}
  .sgw302-fields b{font-size:7.8px!important;line-height:1.1!important}
  .sgw302-fields small{font-size:6.2px!important}
  .sgw302-signal-row{grid-template-columns:102px minmax(0,1fr)!important;gap:4px!important}
  .sgw302-card>.sgw294-clientbox{margin:0 6px 6px!important;padding:6px!important}
  .sgw294-signal{padding:6px!important}.sgw294-signal strong{font-size:15px!important}
}
@media (min-width:850px) and (max-width:1179px){
  .sgw302-card-head{padding:9px 10px!important}.sgw302-card-sections{gap:6px!important;padding:7px!important}.sgw302-card-section{padding:6px!important}
}
/* ==== SGW V579 ONU COMPACT END ==== */

/* ==== SGW V581 ONU ULTRA COMPACT START ==== */
@media(min-width:1180px){
  .sgw302-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .sgw302-card{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;overflow:hidden!important}
  .sgw302-card *{box-sizing:border-box!important}
  .sgw302-card-head{padding:6px 7px!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;gap:4px!important}
  .sgw302-card-head>*{min-width:0!important;max-width:100%!important}
  .sgw302-card-head h3,.sgw294-card-head h3{font-size:9.5px!important;line-height:1.08!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .sgw302-card-head small,.sgw294-card-head small{font-size:6px!important;line-height:1.08!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .sgw302-complete{padding:3px 5px!important;font-size:6px!important;line-height:1.05!important;white-space:normal!important;text-align:center!important}
  .sgw302-card-sections{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px!important;padding:4px!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .sgw302-card-section{padding:3px!important;border-radius:5px!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .sgw302-card-section h4{margin:0 0 2px!important;font-size:5.8px!important;line-height:1.05!important}
  .sgw302-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px!important;min-width:0!important;max-width:100%!important}
  .sgw302-fields>div{padding:3px!important;border-radius:4px!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .sgw302-fields>div.wide{grid-column:1/-1!important}
  .sgw302-fields span{font-size:5px!important;line-height:1.05!important;max-width:100%!important;overflow-wrap:anywhere!important}
  .sgw302-fields b{font-size:6.8px!important;line-height:1.08!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .sgw302-fields small{font-size:5.4px!important;line-height:1.05!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .sgw302-learned{font-size:5.8px!important;line-height:1.15!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .sgw302-signal-row{grid-template-columns:78px minmax(0,1fr)!important;gap:3px!important;min-width:0!important;max-width:100%!important}
  .sgw294-signal{padding:4px!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .sgw294-signal strong{font-size:12px!important;line-height:1!important;max-width:100%!important}
  .sgw294-signal span{font-size:5.2px!important;line-height:1.05!important}
  .sgw302-card>.sgw294-clientbox{margin:0 4px 4px!important;padding:4px!important;min-width:0!important;width:calc(100% - 8px)!important;max-width:calc(100% - 8px)!important;overflow:hidden!important}
  .sgw302-card>.sgw294-clientbox *{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
}
@media(min-width:900px) and (max-width:1179px){
  .sgw302-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .sgw302-card{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .sgw302-card *{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
}
@media(min-width:650px) and (max-width:899px){
  .sgw302-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .sgw302-card{min-width:0!important;max-width:100%!important;overflow:hidden!important}
}
/* ==== SGW V581 ONU ULTRA COMPACT END ==== */

/* ==== SGW V583 ONU SUPER COMPACT START ==== */
@media(min-width:1180px){
  .sgw302-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;align-items:start!important}
  .sgw302-card{min-height:0!important;height:auto!important;max-height:none!important;border-radius:8px!important}
  .sgw302-card-head{min-height:0!important;padding:4px 5px!important;gap:3px!important}
  .sgw302-card-head h3,.sgw294-card-head h3{margin:1px 0!important;font-size:9px!important;line-height:1.05!important}
  .sgw302-card-head small,.sgw294-card-head small{font-size:5.5px!important;line-height:1!important}
  .sgw302-head-badges{gap:2px!important}.sgw302-complete{padding:2px 4px!important;font-size:5.5px!important}
  .sgw302-card-sections{gap:2px!important;padding:3px!important}
  .sgw302-card-section{padding:2px!important;border-radius:4px!important}
  .sgw302-card-section h4{margin:0 0 2px!important;font-size:5.3px!important;line-height:1!important}
  .sgw302-fields{gap:2px!important}.sgw302-fields>div{padding:2px!important;border-radius:3px!important}
  .sgw302-fields span{font-size:4.8px!important;line-height:1!important}
  .sgw302-fields b{font-size:6.3px!important;line-height:1.04!important;margin-top:1px!important}
  .sgw302-fields small{font-size:5px!important;line-height:1!important;margin-top:1px!important}
  .sgw302-card-section:nth-child(2) .sgw302-fields>div.wide:last-child{display:none!important}
  .sgw302-card-section:nth-child(4) .sgw302-fields>div:nth-child(n+2){display:none!important}
  .sgw302-card-section:nth-child(4) .sgw302-fields{grid-template-columns:1fr!important}
  .sgw302-signal-row{grid-template-columns:62px minmax(0,1fr)!important;gap:2px!important}
  .sgw294-signal{min-height:60px!important;height:auto!important;padding:3px!important;border-radius:5px!important}
  .sgw294-signal strong{font-size:10px!important;line-height:1!important}.sgw294-signal span{font-size:4.8px!important;line-height:1!important}
  .sgw302-card>.sgw294-clientbox{margin:0 3px 3px!important;padding:3px 4px!important;min-height:0!important;gap:3px!important;border-radius:5px!important}
  .sgw302-card>.sgw294-clientbox span{font-size:5px!important}.sgw302-card>.sgw294-clientbox b{font-size:6.5px!important;line-height:1.05!important}
  .sgw302-card>.sgw294-clientbox small{font-size:5px!important;line-height:1!important}
  .sgw302-card>.sgw294-clientbox a{padding:4px 5px!important;min-height:0!important;font-size:6px!important;border-radius:5px!important}
}
@media(min-width:1500px){.sgw302-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
/* ==== SGW V583 ONU SUPER COMPACT END ==== */

