/* ==========================================================
 SGW V454 - TEMA GLOBAL DEFINITIVO + CLIENTES
 ========================================================== */
html.sgw454-provider-ui{
  background:#030d1c !important;
  color-scheme:dark;
}
html.sgw454-ui-boot body{
  opacity:0 !important;
  pointer-events:none !important;
}
html.sgw454-ui-boot::before{
  content:"SGW";
  position:fixed;
  z-index:2147483646;
  inset:0;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(22,119,255,.18),transparent 26%),
    linear-gradient(180deg,#06162e,#020b18);
  color:#fff;
  font:900 25px/1 Arial,sans-serif;
  letter-spacing:-1px;
}
html.sgw454-ui-boot::after{
  content:"Carregando interface...";
  position:fixed;
  z-index:2147483647;
  left:50%;
  top:calc(50% + 42px);
  transform:translateX(-50%);
  color:#6fa9e7;
  font:700 9px/1.2 Arial,sans-serif;
}
html.sgw454-ui-ready body{
  opacity:1;
  transition:opacity .12s ease-out;
}

/* ---------- Sistema inteiro: superfície e tipografia ---------- */
html.sgw454-provider-ui body,
html.sgw454-provider-ui .content-area,
html.sgw454-provider-ui main,
html.sgw454-provider-ui .container,
html.sgw454-provider-ui .app-shell{
  background:
    radial-gradient(circle at 90% 0,rgba(16,92,196,.08),transparent 28%),
    linear-gradient(180deg,#031024 0%,#020b19 100%) !important;
  color:#e9f3ff !important;
}
html.sgw454-provider-ui main h1,
html.sgw454-provider-ui main h2,
html.sgw454-provider-ui main h3,
html.sgw454-provider-ui main h4,
html.sgw454-provider-ui .content-area h1,
html.sgw454-provider-ui .content-area h2,
html.sgw454-provider-ui .content-area h3{
  color:#f4f9ff !important;
}
html.sgw454-provider-ui main p,
html.sgw454-provider-ui main small,
html.sgw454-provider-ui main label,
html.sgw454-provider-ui .content-area p,
html.sgw454-provider-ui .content-area small{
  color:#8eabc9;
}
html.sgw454-provider-ui a{color:#5ca8ff}

/* ---------- Cards / painéis / caixas ---------- */
html.sgw454-provider-ui main .card,
html.sgw454-provider-ui main .panel,
html.sgw454-provider-ui main .box,
html.sgw454-provider-ui main .table-card,
html.sgw454-provider-ui main .content-card,
html.sgw454-provider-ui main .summary-card,
html.sgw454-provider-ui main .metric-card,
html.sgw454-provider-ui main .info-card,
html.sgw454-provider-ui main .settings-card,
html.sgw454-provider-ui main section[class*="card"],
html.sgw454-provider-ui .content-area .card,
html.sgw454-provider-ui .content-area .panel{
  background:linear-gradient(180deg,#071c38,#05172f) !important;
  color:#eaf4ff !important;
  border:1px solid #123d69 !important;
  box-shadow:0 13px 34px rgba(0,0,0,.16) !important;
}

/* ---------- Formulários ---------- */
html.sgw454-provider-ui main input:not([type=checkbox]):not([type=radio]),
html.sgw454-provider-ui main select,
html.sgw454-provider-ui main textarea,
html.sgw454-provider-ui .content-area input:not([type=checkbox]):not([type=radio]),
html.sgw454-provider-ui .content-area select,
html.sgw454-provider-ui .content-area textarea{
  background:#041a34 !important;
  color:#eef7ff !important;
  border:1px solid #195181 !important;
  box-shadow:none !important;
}
html.sgw454-provider-ui main input::placeholder,
html.sgw454-provider-ui main textarea::placeholder{
  color:#6f8faf !important;
  opacity:1;
}
html.sgw454-provider-ui main input:focus,
html.sgw454-provider-ui main select:focus,
html.sgw454-provider-ui main textarea:focus{
  border-color:#2487ff !important;
  box-shadow:0 0 0 3px rgba(36,135,255,.12) !important;
  outline:none !important;
}

/* ---------- Tabelas globais ---------- */
html.sgw454-provider-ui main table,
html.sgw454-provider-ui .content-area table{
  background:#061a33 !important;
  color:#ddecff !important;
  border-color:#153d65 !important;
}
html.sgw454-provider-ui main table thead th,
html.sgw454-provider-ui .content-area table thead th{
  background:#0a2a4e !important;
  color:#bdddff !important;
  border-color:#19466f !important;
}
html.sgw454-provider-ui main table tbody td,
html.sgw454-provider-ui .content-area table tbody td{
  background:#061a33 !important;
  color:#e5f1ff !important;
  border-color:#12385f !important;
}
html.sgw454-provider-ui main table tbody tr:nth-child(even) td{background:#071e3a !important}
html.sgw454-provider-ui main table tbody tr:hover td{background:#0a2a4d !important}
html.sgw454-provider-ui main table a{color:#67b0ff !important}

/* ---------- Botões ---------- */
html.sgw454-provider-ui main button,
html.sgw454-provider-ui main .btn,
html.sgw454-provider-ui .content-area button,
html.sgw454-provider-ui .content-area .btn{border-radius:9px !important}
html.sgw454-provider-ui main .btn-primary,
html.sgw454-provider-ui main button.primary{
  background:linear-gradient(135deg,#0b5fd7,#1677ff) !important;
  color:#fff !important;
  border-color:#2b86ff !important;
}

/* ---------- Avisos ---------- */
html.sgw454-provider-ui main .alert,
html.sgw454-provider-ui main .notice,
html.sgw454-provider-ui main .info,
html.sgw454-provider-ui main [class*="notice"],
html.sgw454-provider-ui main [class*="alert"]{
  background:#08213e !important;
  color:#cfe6ff !important;
  border-color:#245887 !important;
}
html.sgw454-provider-ui main .alert-warning,
html.sgw454-provider-ui main [class*="warning"]{
  background:#2b230a !important;
  color:#ffd978 !important;
  border-color:#816211 !important;
}

/* CLIENTES */
html.sgw454-clientes-lista main,
html.sgw454-clientes-pre main,
html.sgw454-clientes-contratos main,
html.sgw454-clientes-layouts main,
html.sgw454-clientes-auth main{
  padding:22px 28px 34px !important;
}
html.sgw454-clientes-lista main > *,
html.sgw454-clientes-pre main > *,
html.sgw454-clientes-contratos main > *,
html.sgw454-clientes-layouts main > *,
html.sgw454-clientes-auth main > *{
  max-width:1480px;
  margin-left:auto;
  margin-right:auto;
}
html.sgw454-clientes-lista main [class*="stat"],
html.sgw454-clientes-lista main [class*="summary"],
html.sgw454-clientes-contratos main [class*="stat"],
html.sgw454-clientes-contratos main [class*="summary"]{
  background:#071b35 !important;
  color:#eaf4ff !important;
  border-color:#17456f !important;
}
html.sgw454-clientes-lista main table,
html.sgw454-clientes-pre main table,
html.sgw454-clientes-contratos main table,
html.sgw454-clientes-layouts main table{
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid #16436d !important;
  border-radius:12px !important;
  overflow:hidden;
}
html.sgw454-clientes-lista main table th,
html.sgw454-clientes-lista main table td{height:50px;vertical-align:middle}
html.sgw454-clientes-lista main table td:nth-child(4){
  color:#f3f8ff !important;
  font-weight:700;
}
html.sgw454-clientes-lista main table td:not(:nth-child(4)){color:#b8cee5 !important}
html.sgw454-clientes-lista main table input[type=checkbox],
html.sgw454-clientes-contratos main table input[type=checkbox]{
  width:16px;height:16px;accent-color:#1677ff;
}

/* Pré-registros */
html.sgw454-clientes-pre main{color:#eaf4ff !important}
html.sgw454-clientes-pre main > div,
html.sgw454-clientes-pre main > section{
  background:linear-gradient(180deg,#071b35,#05162d) !important;
  border-color:#16436d !important;
  color:#eaf4ff !important;
}
html.sgw454-clientes-pre main table td{color:#c9dcef !important}
html.sgw454-clientes-pre main table td[colspan]{
  background:#06182f !important;
  color:#7f9dbc !important;
}

/* Contratos */
html.sgw454-clientes-contratos main table td:nth-child(4){
  color:#f5f9ff !important;
  font-weight:700;
}
html.sgw454-clientes-contratos main .badge,
html.sgw454-clientes-contratos main [class*="badge"]{border-radius:999px !important}

/* Layouts */
html.sgw454-clientes-layouts main{color:#eaf4ff !important}
html.sgw454-clientes-layouts main h1{font-size:28px !important;margin-bottom:4px !important}
html.sgw454-clientes-layouts main table td:first-child{
  color:#f4f9ff !important;font-weight:800;
}

/* Autenticações PPPoE */
html.sgw454-clientes-auth main{color:#eaf4ff !important}
html.sgw454-clientes-auth main h1{color:#fff !important}
html.sgw454-clientes-auth main [class*="card"]{
  background:linear-gradient(180deg,#071d39,#06162d) !important;
  color:#eaf4ff !important;
  border:1px solid #15436e !important;
  box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}
html.sgw454-clientes-auth main [class*="card"] h2,
html.sgw454-clientes-auth main [class*="card"] h3,
html.sgw454-clientes-auth main [class*="card"] strong,
html.sgw454-clientes-auth main [class*="card"] b{color:#f2f8ff !important}
html.sgw454-clientes-auth main [class*="card"] p,
html.sgw454-clientes-auth main [class*="card"] span:not(.badge):not([class*="badge"]){color:#b9cde3}
html.sgw454-clientes-auth main [class*="card"] a:not(.btn){color:#64adff !important}
html.sgw454-clientes-auth main [class*="card"] small{color:#7898b8 !important}
html.sgw454-clientes-auth main [class*="grid"]{gap:12px !important}
html.sgw454-clientes-auth main [class*="online"],
html.sgw454-clientes-auth main .badge.online{
  background:#0d3828 !important;
  color:#6bf0ac !important;
  border-color:#1e8d5d !important;
}
html.sgw454-clientes-auth main > div[style*="background"],
html.sgw454-clientes-auth main section[style*="background"],
html.sgw454-clientes-pre main > div[style*="background"],
html.sgw454-clientes-layouts main > div[style*="background"]{
  background-color:#071b35 !important;
}

/* Paginação */
html.sgw454-provider-ui main [class*="pagination"],
html.sgw454-provider-ui main nav[aria-label*="pagination" i]{
  background:#061a33 !important;
  color:#8eadca !important;
  border-color:#17446e !important;
}

@media(max-width:900px){
 html.sgw454-clientes-lista main,
 html.sgw454-clientes-pre main,
 html.sgw454-clientes-contratos main,
 html.sgw454-clientes-layouts main,
 html.sgw454-clientes-auth main{
   padding:14px 12px 28px !important;
 }
}
