/* ======================================================================
   MODULO DE INTEGRACOES - BOTAO DE ACESSO NO PORTAL
   ====================================================================== */

.btn-link-reset,
.btn-link-reset:link,
.btn-link-reset:visited,
.btn-link-reset:hover,
.btn-link-reset:active{
  text-decoration:none !important;
}

.cfg-integracoes-btn{
  border-radius:14px;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.cfg-integracoes-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15, 23, 42, 0.08);
}

.integracoes-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.integracoes-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}

.integracoes-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.integracoes-back-btn{
  border-radius:14px;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.integracoes-back-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15, 23, 42, 0.08);
}

.integracoes-card{ padding:22px; }

.integracoes-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
  flex-wrap:wrap;
}

.integracoes-card-title{
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

.integracoes-card-sub{
  color:#64748b;
  margin-top:4px;
}

.integracoes-kpis{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}

.integracoes-kpi{
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#ffffff;
  padding:16px;
}

.integracoes-kpi-label{
  font-size:13px;
  color:#64748b;
  margin-bottom:6px;
}

.integracoes-kpi-value{
  font-size:18px;
  font-weight:700;
  color:#0f172a;
}

.integracoes-placeholder{
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#f8fafc;
  padding:20px;
}

.integracoes-placeholder-title{
  font-size:16px;
  font-weight:700;
  color:#0f172a;
  margin-bottom:8px;
}

.integracoes-placeholder-text{
  color:#64748b;
  line-height:1.6;
}

@media (max-width:900px){
  .integracoes-kpis{ grid-template-columns:1fr; }
}

/* ======================================================================
   CENTRAL DE INTEGRACOES - LAYOUT PROPRIO
   ====================================================================== */

html:has(body.integracoes-body),
body.integracoes-body{
  margin:0;
  padding:0;
  height:100%;
  background:#0a0a0b !important;
  color:#f8fafc;
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  overflow:hidden;
}

.integracoes-body *{ box-sizing:border-box; }

.integracoes-layout{
  height:100vh;
  display:flex;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(252, 86, 3, 0.08), transparent 22%),
    radial-gradient(circle at bottom right, rgba(252, 86, 3, 0.06), transparent 18%),
    #0a0a0b;
}

.integracoes-sidebar{
  width:280px;
  min-width:280px;
  height:100vh;
  flex:0 0 280px;
  background:linear-gradient(180deg, #101010 0%, #151515 100%);
  border-right:1px solid rgba(252, 86, 3, 0.18);
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  gap:18px;
  overflow:hidden;
  transition:width .18s ease, min-width .18s ease, flex-basis .18s ease, padding .18s ease;
  box-shadow:inset -1px 0 0 rgba(255,255,255,0.03);
}

.integracoes-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
  padding:4px 4px 14px 4px;
  border-bottom:1px solid rgba(255,255,255,0.07);
  position:relative;
}

.integracoes-brand-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.integracoes-brand-copy{ min-width:0; }

.integracoes-brand-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(252, 86, 3, 0.12);
  color:#fc5603;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  box-shadow:0 0 0 1px rgba(252, 86, 3, 0.16) inset;
  flex:0 0 auto;
}

.integracoes-brand-title{
  font-size:21px;
  font-weight:800;
  color:#ffffff;
  line-height:1.1;
  white-space:nowrap;
}

.integracoes-brand-sub{
  font-size:12px;
  color:rgba(255,255,255,0.58);
  margin-top:3px;
  white-space:nowrap;
}

.integracoes-sidebar .integracoes-sidebar-toggle,
.integracoes-sidebar .integracoes-sidebar-toggle.btn,
.integracoes-sidebar .integracoes-sidebar-toggle.icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  background:rgba(255,255,255,0.04) !important;
  color:#f8fafc !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  transition:all .16s ease;
  box-shadow:none !important;
  text-decoration:none !important;
  outline:none;
}

.integracoes-sidebar .integracoes-sidebar-toggle:hover{
  background:rgba(252, 86, 3, 0.14) !important;
  border-color:rgba(252, 86, 3, 0.26) !important;
  color:#ffffff !important;
}

.integracoes-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.integracoes-nav-link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border-radius:14px;
  color:rgba(255,255,255,0.88);
  text-decoration:none;
  transition:all .16s ease;
  border:1px solid transparent;
  min-height:48px;
}

.integracoes-nav-link:hover{
  background:rgba(252, 86, 3, 0.10);
  border-color:rgba(252, 86, 3, 0.18);
  color:#ffffff;
  transform:translateX(2px);
  text-decoration:none;
}

.integracoes-nav-link.active{
  background:rgba(252, 86, 3, 0.16);
  border-color:rgba(252, 86, 3, 0.28);
  color:#ffffff;
  box-shadow:0 12px 28px rgba(252, 86, 3, 0.10);
}

.integracoes-nav-link i{
  color:#fc5603;
  font-size:17px;
  flex:0 0 20px;
  text-align:center;
}

.integracoes-nav-link span{ white-space:nowrap; }

.integracoes-sidebar-footer{
  margin-top:auto;
  padding-top:6px;
}

.integracoes-portal-back{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border-radius:14px;
  color:#ffffff;
  text-decoration:none;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  transition:all .16s ease;
  min-height:48px;
}

.integracoes-portal-back:hover{
  background:rgba(252, 86, 3, 0.12);
  border-color:rgba(252, 86, 3, 0.26);
  color:#ffffff;
  text-decoration:none;
}

.integracoes-main{
  flex:1;
  min-width:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  padding:30px;
  background:
    radial-gradient(circle at top right, rgba(252, 86, 3, 0.06), transparent 16%),
    #0b0b0c !important;
  color:#f8fafc;
}

.integracoes-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:22px;
}

.integracoes-page-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fc5603;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:10px;
}

.integracoes-page-title{
  font-size:40px;
  line-height:1.05;
  font-weight:900;
  color:#ffffff;
  letter-spacing:-0.02em;
}

.integracoes-page-subtitle{
  margin-top:10px;
  color:#cbd5e1;
  font-size:17px;
  max-width:900px;
}

.integracoes-panel{
  background:#111214;
  border:1px solid rgba(252, 86, 3, 0.14);
  border-radius:24px;
  padding:24px;
  box-shadow:0 18px 40px rgba(0,0,0,0.28);
}

.integracoes-panel-head{ margin-bottom:20px; }

.integracoes-panel-title{
  font-size:26px;
  font-weight:800;
  color:#ffffff;
}

.integracoes-panel-sub{
  margin-top:8px;
  color:#cbd5e1;
  line-height:1.6;
}

.integracoes-stat-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-bottom:18px;
}

.integracoes-stat-card{
  background:#18191b;
  border:1px solid rgba(255,255,255,0.07);
  border-radius:18px;
  padding:18px;
}

.integracoes-stat-label{
  font-size:13px;
  color:#94a3b8;
  margin-bottom:8px;
}

.integracoes-stat-value{
  font-size:27px;
  font-weight:800;
  color:#ffffff;
  line-height:1.1;
}

.integracoes-stat-foot{
  margin-top:10px;
  font-size:13px;
  color:#94a3b8;
}

.integracoes-highlight-box{
  border:1px dashed rgba(252, 86, 3, 0.30);
  background:rgba(252, 86, 3, 0.06);
  border-radius:18px;
  padding:20px;
}

.integracoes-highlight-title{
  font-size:19px;
  font-weight:800;
  color:#ffffff;
  margin-bottom:8px;
}

.integracoes-highlight-text{
  color:#e2e8f0;
  line-height:1.7;
  font-size:16px;
}

/* Sidebar mini */
.integracoes-sidebar-mini .integracoes-sidebar{
  width:92px;
  min-width:92px;
  flex-basis:92px;
  padding-left:10px;
  padding-right:10px;
}

.integracoes-sidebar-mini .integracoes-brand{
  justify-content:center;
  min-height:56px;
  padding:8px 0 12px 0;
}

.integracoes-sidebar-mini .integracoes-brand-left{ display:none; }

.integracoes-sidebar-mini .integracoes-sidebar-toggle{
  position:static !important;
  width:40px !important;
  height:40px !important;
  margin:0 auto;
}

.integracoes-sidebar-mini .integracoes-nav-link span,
.integracoes-sidebar-mini .integracoes-portal-back span{ display:none; }

.integracoes-sidebar-mini .integracoes-nav-link,
.integracoes-sidebar-mini .integracoes-portal-back{
  justify-content:center;
  padding-left:0;
  padding-right:0;
}

.integracoes-sidebar-mini .integracoes-nav-link i,
.integracoes-sidebar-mini .integracoes-portal-back i{
  flex:0 0 auto;
  font-size:20px;
}

@media (max-width:1100px){
  html:has(body.integracoes-body),
  body.integracoes-body{ overflow:auto; }

  .integracoes-layout{
    height:auto;
    min-height:100vh;
    flex-direction:column;
    overflow:visible;
  }

  .integracoes-sidebar,
  .integracoes-sidebar-mini .integracoes-sidebar{
    width:100%;
    min-width:100%;
    flex-basis:auto;
    height:auto;
  }

  .integracoes-main{
    height:auto;
    overflow:visible;
    padding:20px;
  }

  .integracoes-sidebar-mini .integracoes-brand-left{ display:flex; }

  .integracoes-sidebar-mini .integracoes-nav-link span,
  .integracoes-sidebar-mini .integracoes-portal-back span{ display:initial; }

  .integracoes-sidebar-mini .integracoes-nav-link,
  .integracoes-sidebar-mini .integracoes-portal-back{
    justify-content:flex-start;
    padding-left:14px;
    padding-right:14px;
  }

  .integracoes-page-title{ font-size:32px; }
}

@media (max-width:820px){
  .integracoes-stat-grid{ grid-template-columns:1fr; }
  .integracoes-page-title{ font-size:28px; }
}

/* ======================================================================
   CENTRAL DE INTEGRACOES - CLIENTES / TABELAS
   ====================================================================== */

.integracoes-table-wrap{
  width:100%;
  overflow-x:auto;
}

.integracoes-table{ margin-top:6px; }

.integracoes-table thead th{
  color:#cbd5e1;
  font-weight:700;
}

.integracoes-table tbody td{ vertical-align:middle; }

.intg-client-name{
  font-weight:700;
  color:#ffffff;
}

.intg-code{
  display:inline-block;
  padding:6px 10px;
  border-radius:10px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  color:#f8fafc;
  font-size:13px;
}

.integracoes-body .integracoes-table-wrap{
  border:1px solid rgba(255, 255, 255, 0.08);
  border-radius:18px;
  overflow:hidden;
  background:#101114;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.02);
}

.integracoes-body .integracoes-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
  color:#f3f4f6;
  margin:0;
}

.integracoes-body .integracoes-table thead th{
  background:#17191f;
  color:#f8fafc;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:none;
  padding:16px 14px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.integracoes-body .integracoes-table tbody tr{
  background:#101114;
  transition:background-color 0.18s ease, transform 0.18s ease;
}

.integracoes-body .integracoes-table tbody tr:nth-child(even){ background:#13151b; }
.integracoes-body .integracoes-table tbody tr:hover{ background:#181b22; }

.integracoes-body .integracoes-table tbody td{
  color:#e5e7eb;
  padding:16px 14px;
  border-top:1px solid rgba(255,255,255,0.06);
  vertical-align:middle;
  background:transparent;
}

.integracoes-body .integracoes-table tbody tr:first-child td{ border-top:none; }

.integracoes-body .integracoes-table tbody td + td,
.integracoes-body .integracoes-table thead th + th{ border-left:1px solid rgba(255,255,255,0.06); }

.integracoes-body .integracoes-table .text-muted{ color:#9ca3af !important; }
.integracoes-body .intg-client-name{ font-weight:700; color:#f9fafb; }

.integracoes-body .intg-code{
  display:inline-block;
  padding:6px 10px;
  border-radius:10px;
  background:rgba(252, 86, 3, 0.10);
  border:1px solid rgba(252, 86, 3, 0.22);
  color:#ffb38a;
  font-size:13px;
  font-family:Consolas, Monaco, 'Courier New', monospace;
}

.integracoes-body .badge.status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  border:1px solid transparent;
  background:transparent;
  box-shadow:none;
}

.integracoes-body .badge.status.ativa{
  color:#86efac;
  background:rgba(34, 197, 94, 0.12);
  border-color:rgba(34, 197, 94, 0.35);
}

.integracoes-body .badge.status.inativa{
  color:#fca5a5;
  background:rgba(239, 68, 68, 0.12);
  border-color:rgba(239, 68, 68, 0.35);
}

.integracoes-body .integracoes-table td.actions{
  position:relative;
  text-align:center;
}

.integracoes-body .integracoes-table td.actions .btn.icon.kebab{
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.10);
  background:#191c23;
  color:#e5e7eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all 0.18s ease;
}

.integracoes-body .integracoes-table td.actions .btn.icon.kebab:hover{
  background:#20242d;
  border-color:rgba(252, 86, 3, 0.35);
  color:#ffffff;
}

.integracoes-body .integracoes-table td.actions .dropdown{
  min-width:190px;
  right:0;
  left:auto;
  top:calc(100% + 8px);
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.08);
  background:#14171d;
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
}

.integracoes-body .integracoes-table td.actions .dropdown .opt{
  width:100%;
  border:0;
  background:transparent;
  color:#e5e7eb;
  text-align:left;
  padding:12px 14px;
  font-size:14px;
  transition:background-color 0.16s ease, color 0.16s ease;
}

.integracoes-body .integracoes-table td.actions .dropdown .opt:hover{
  background:rgba(252, 86, 3, 0.12);
  color:#ffffff;
}

.integracoes-body .integracoes-table td.actions .dropdown .opt + .opt{ border-top:1px solid rgba(255,255,255,0.06); }

.integracoes-body .integracoes-panel{
  background:#0f1117;
  border:1px solid rgba(255,255,255,0.06);
}

.integracoes-body .integracoes-panel-title{ color:#f8fafc; }
.integracoes-body .integracoes-panel-sub{ color:#94a3b8; }

.integracoes-body .integracoes-table tbody tr td[colspan]{
  background:#101114;
  color:#9ca3af !important;
}

@media (max-width:900px){
  .integracoes-body .integracoes-table thead th,
  .integracoes-body .integracoes-table tbody td{ padding:14px 10px; }

  .integracoes-body .intg-code{
    font-size:12px;
    padding:5px 8px;
  }
}

/* Clean table */
.integracoes-body #tabelaIntegracoesClientes{
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
  margin:0;
  background:transparent;
}

.integracoes-body #tabelaIntegracoesClientes thead th{
  background:transparent;
  color:#f8fafc;
  font-size:13px;
  font-weight:700;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.integracoes-body #tabelaIntegracoesClientes tbody td{
  background:transparent;
  color:#e5e7eb;
  padding:18px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  border-left:0;
  border-right:0;
  border-radius:0 !important;
}

.integracoes-body #tabelaIntegracoesClientes tbody tr:last-child td{ border-bottom:0; }

.integracoes-body .intg-client-row{
  cursor:pointer;
  transition:background-color 0.18s ease;
}

.integracoes-body .intg-client-row:hover td{ background:rgba(255,255,255,0.03); }

.integracoes-body .intg-client-main{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.integracoes-body .intg-client-name{
  font-size:16px;
  font-weight:700;
  color:#f8fafc;
}

.integracoes-body .intg-row-hint{
  font-size:12px;
  color:#8b94a7;
}

.integracoes-body .intg-client-id-text{
  font-family:Consolas, Monaco, 'Courier New', monospace;
  font-size:14px;
  color:#d1d5db;
  background:transparent;
  border:0;
  padding:0;
}

.integracoes-body .intg-status-text{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:14px;
}

.integracoes-body .intg-status-text::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  display:inline-block;
}

.integracoes-body .intg-status-text.is-active{ color:#86efac; }

.integracoes-body .intg-status-text.is-active::before{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,0.12);
}

.integracoes-body .intg-status-text.is-inactive{ color:#fca5a5; }

.integracoes-body .intg-status-text.is-inactive::before{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,0.12);
}

.integracoes-body .intg-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.integracoes-body .intg-detail-box{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  background:rgba(255,255,255,0.02);
  padding:16px;
}

.integracoes-body .intg-detail-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#8b94a7;
  margin-bottom:8px;
}

.integracoes-body .intg-detail-value{
  color:#f8fafc;
  font-size:16px;
  font-weight:700;
  word-break:break-word;
}

.integracoes-body .intg-detail-value.is-active{ color:#86efac; }
.integracoes-body .intg-detail-value.is-inactive{ color:#fca5a5; }

.integracoes-body .intg-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.integracoes-body .intg-detail-note{
  margin-top:18px;
  padding:14px 16px;
  border-radius:12px;
  border:1px dashed rgba(252,86,3,0.28);
  background:rgba(252,86,3,0.05);
  color:#cbd5e1;
  line-height:1.5;
}

@media (max-width:900px){
  .integracoes-body .intg-detail-grid{ grid-template-columns:1fr; }

  .integracoes-body #tabelaIntegracoesClientes thead th,
  .integracoes-body #tabelaIntegracoesClientes tbody td{ padding:14px 12px; }
}

/* ======================================================================
   INTEGRACOES - MODAL DARK THEME / PERMISSOES
   ====================================================================== */

.integracoes-body .modal__dialog{
  background:linear-gradient(180deg, #111827 0%, #0b1220 100%);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}

.integracoes-body .modal__header,
.integracoes-body .modal__footer{
  background:transparent;
  border-color:rgba(255,255,255,0.08);
}

.integracoes-body .modal__title{ color:#f8fafc; }
.integracoes-body .modal__title i{ color:#fc5603; }

.integracoes-body .modal__body{
  background:transparent;
  color:#e5e7eb;
}

.integracoes-body .modal .icon{ color:#94a3b8; }
.integracoes-body .modal .icon:hover{ color:#ffffff; }
.integracoes-body .modal .form-group label{ color:#94a3b8; }

.integracoes-body .modal .form-group small,
.integracoes-body .modal .text-muted{ color:#8b94a7 !important; }

.integracoes-body .modal input,
.integracoes-body .modal textarea,
.integracoes-body .modal select{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.10);
  color:#f8fafc;
}

.integracoes-body .modal input::placeholder,
.integracoes-body .modal textarea::placeholder{ color:#64748b; }

.integracoes-body .modal input:focus,
.integracoes-body .modal textarea:focus,
.integracoes-body .modal select:focus{
  border-color:rgba(252,86,3,0.65);
  box-shadow:0 0 0 3px rgba(252,86,3,0.16);
  background:rgba(255,255,255,0.05);
}

.integracoes-body .modal__backdrop{ background:rgba(2,6,23,.72); }

.integracoes-body .intg-detail-box{
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(255,255,255,0.08);
}

.integracoes-body .intg-detail-label{ color:#94a3b8; }
.integracoes-body .intg-detail-value{ color:#f8fafc; }
.integracoes-body .intg-detail-value.is-active{ color:#4ade80; }
.integracoes-body .intg-detail-value.is-inactive{ color:#f87171; }

.integracoes-body .intg-detail-note{
  background:rgba(252,86,3,0.06);
  border:1px dashed rgba(252,86,3,0.30);
  color:#cbd5e1;
}

.integracoes-body .modal .btn{ border-color:rgba(255,255,255,0.10); }

.integracoes-body .modal .btn.ghost{
  background:rgba(255,255,255,0.03);
  color:#e5e7eb;
}

.integracoes-body .modal .btn.ghost:hover{
  background:rgba(255,255,255,0.07);
  color:#ffffff;
}

.integracoes-body .modal .btn.secondary{
  background:rgba(252,86,3,0.10);
  border-color:rgba(252,86,3,0.28);
  color:#ffd7c2;
}

.integracoes-body .modal .btn.secondary:hover{
  background:rgba(252,86,3,0.16);
  border-color:rgba(252,86,3,0.38);
  color:#fff1ea;
}

.integracoes-body .modal .btn.primary{
  background:linear-gradient(135deg, #fc5603 0%, #ff7a33 100%);
  border-color:transparent;
  color:#ffffff;
}

.integracoes-body .modal .btn.primary:hover{ filter:brightness(1.04); }

.integracoes-body .intg-perms-section{ margin-top:22px; }

.integracoes-body .intg-perms-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.integracoes-body .intg-perms-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.integracoes-body .intg-perm-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.025);
  cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease;
}

.integracoes-body .intg-perm-item:hover{
  background:rgba(255,255,255,0.045);
  border-color:rgba(252,86,3,0.25);
}

.integracoes-body .intg-perm-item input[type="checkbox"]{
  margin-top:3px;
  transform:scale(1.05);
}

.integracoes-body .intg-perm-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.integracoes-body .intg-perm-title{
  color:#f8fafc;
  font-weight:700;
  font-size:14px;
}

.integracoes-body .intg-perm-meta{
  color:#94a3b8;
  font-size:12px;
  font-family:Consolas, Monaco, 'Courier New', monospace;
}

@media (max-width:700px){
  .integracoes-body .intg-perms-head{
    flex-direction:column;
    align-items:stretch;
  }
}

/* ======================================================================
   CENTRAL DE INTEGRACOES - LOGS
   ====================================================================== */

.integracoes-logs-filter-form{ padding:0 2px 10px 2px; }

.integracoes-logs-filter-actions{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

#tabelaIntegracoesLogs tbody tr.intg-log-row{ cursor:pointer; }
#tabelaIntegracoesLogs tbody tr.intg-log-row:hover td{ background:rgba(255,255,255,0.03); }

.integracoes-body #tabelaIntegracoesLogs{
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
  margin:0;
  background:transparent;
}

.integracoes-body #tabelaIntegracoesLogs thead th{
  background:transparent;
  color:#f8fafc;
  font-size:13px;
  font-weight:700;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.integracoes-body #tabelaIntegracoesLogs tbody td{
  background:transparent;
  color:#e5e7eb;
  padding:18px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  border-left:0;
  border-right:0;
  border-radius:0 !important;
}

.integracoes-body #tabelaIntegracoesLogs tbody tr:last-child td{ border-bottom:0; }

.integracoes-body .intg-log-origin{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.integracoes-body .intg-log-origin-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  color:#ffd7c2;
  background:rgba(252, 86, 3, 0.10);
  border:1px solid rgba(252, 86, 3, 0.28);
}

.integracoes-body .intg-log-origin-badge.is-original{
  color:#cbd5e1;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
}

.integracoes-body .intg-log-origin-meta{
  color:#94a3b8;
  font-size:12px;
}

/* ======================================================================
   CENTRAL DE INTEGRACOES - ENDPOINTS
   ====================================================================== */

.integracoes-endpoints-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.endpoint-card{
  display:grid;
  grid-template-columns:minmax(280px, 1fr) minmax(420px, 2fr);
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.endpoint-card:hover{
  border-color:rgba(252, 86, 3, 0.24);
  background:linear-gradient(180deg, rgba(252,86,3,0.06), rgba(255,255,255,0.02));
  transform:translateY(-1px);
}

.endpoint-card__main{ min-width:0; }

.endpoint-card__title{
  font-size:20px;
  font-weight:800;
  color:#f8fafc;
  line-height:1.2;
}

.endpoint-card__desc{
  margin-top:6px;
  font-size:13px;
  color:#94a3b8;
}

.endpoint-card__meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-start;
  min-width:0;
}

.endpoint-method{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:82px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1px solid transparent;
}

.endpoint-method--get{
  background:rgba(59,130,246,0.12);
  border-color:rgba(59,130,246,0.28);
  color:#93c5fd;
}

.endpoint-method--post{
  background:rgba(34,197,94,0.12);
  border-color:rgba(34,197,94,0.28);
  color:#86efac;
}

.endpoint-method--put{
  background:rgba(245,158,11,0.12);
  border-color:rgba(245,158,11,0.28);
  color:#fcd34d;
}

.endpoint-method--patch{
  background:rgba(168,85,247,0.12);
  border-color:rgba(168,85,247,0.28);
  color:#d8b4fe;
}

.endpoint-method--delete{
  background:rgba(239,68,68,0.12);
  border-color:rgba(239,68,68,0.28);
  color:#fca5a5;
}

.endpoint-path{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 14px;
  border-radius:12px;
  background:#0b0f17;
  border:1px solid rgba(255,255,255,0.08);
  color:#e5e7eb;
  font-size:13px;
  font-family:Consolas, Monaco, 'Courier New', monospace;
  white-space:nowrap;
  overflow-x:auto;
  max-width:100%;
}

.endpoint-code{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 12px;
  border-radius:12px;
  background:rgba(252,86,3,0.10);
  border:1px solid rgba(252,86,3,0.22);
  color:#ffb38a;
  font-size:13px;
  font-family:Consolas, Monaco, 'Courier New', monospace;
}

.integracoes-empty-state{
  padding:28px 20px;
  border:1px dashed rgba(255,255,255,0.10);
  border-radius:16px;
  text-align:center;
  color:#94a3b8;
  background:rgba(255,255,255,0.02);
}

@media (max-width:1100px){
  .endpoint-card{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media (max-width:700px){
  .endpoint-card{
    padding:16px;
    gap:14px;
  }

  .endpoint-card__title{ font-size:18px; }

  .endpoint-card__meta{
    flex-direction:column;
    align-items:stretch;
  }

  .endpoint-method,
  .endpoint-path,
  .endpoint-code{
    width:100%;
    justify-content:flex-start;
  }
}

/* ======================================================================
   CENTRAL DE INTEGRACOES - DASHBOARD / CREDENCIAIS / ACOES
   ====================================================================== */

.integracoes-head-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.integracoes-stat-grid--dashboard{
  margin-bottom:22px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.integracoes-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(320px, .8fr);
  gap:20px;
  align-items:start;
}

.integracoes-dashboard-grid .integracoes-panel:nth-child(3){ grid-column:1 / -1; }

.integracoes-mini-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.integracoes-mini-item{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  background:rgba(255,255,255,0.02);
  padding:14px 16px;
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.integracoes-mini-item:hover{
  border-color:rgba(252,86,3,0.22);
  background:rgba(252,86,3,0.05);
  transform:translateY(-1px);
}

.integracoes-mini-item__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}

.integracoes-mini-item__title{
  font-size:15px;
  font-weight:700;
  color:#f8fafc;
  word-break:break-word;
}

.integracoes-mini-item__meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px 14px;
  color:#94a3b8;
  font-size:13px;
}

.integracoes-log-badge,
.intg-log-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1px solid transparent;
  white-space:nowrap;
}

.integracoes-log-badge--sucesso,
.intg-log-status--sucesso{
  background:rgba(34,197,94,0.12);
  border-color:rgba(34,197,94,0.28);
  color:#86efac;
}

.integracoes-log-badge--erro,
.intg-log-status--erro{
  background:rgba(239,68,68,0.12);
  border-color:rgba(239,68,68,0.28);
  color:#fca5a5;
}

.integracoes-log-badge--recebido,
.intg-log-status--recebido{
  background:rgba(59,130,246,0.12);
  border-color:rgba(59,130,246,0.28);
  color:#93c5fd;
}

.intg-log-status--recebido{
  background:rgba(252,86,3,0.12);
  border:1px solid rgba(252,86,3,0.30);
  color:#ffb38a;
}

.integracoes-rank-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.integracoes-rank-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.025);
}

.integracoes-rank-item__name,
.integracoes-rank-item .name{
  min-width:0;
  color:#e5e7eb;
  font-size:14px;
  font-weight:600;
  word-break:break-word;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.integracoes-rank-item__name code{
  color:#dbe4f0;
  font-family:Consolas, Monaco, 'Courier New', monospace;
  font-size:13px;
}

.integracoes-rank-item__value,
.integracoes-rank-item .qty{
  min-width:42px;
  text-align:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(252,86,3,0.10);
  border:1px solid rgba(252,86,3,0.22);
  color:#ffb38a;
  font-size:13px;
  font-weight:800;
  flex:0 0 auto;
}

.integracoes-line-chart{
  width:100%;
  min-height:320px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.01) 100%);
  border:1px solid rgba(255,255,255,0.06);
  padding:10px;
}

.intg-chart-svg{
  width:100%;
  height:320px;
  display:block;
}

.intg-chart-grid-line{
  stroke:rgba(255,255,255,0.08);
  stroke-width:1;
}

.intg-chart-line-shadow{
  fill:none;
  stroke:rgba(252,86,3,0.12);
  stroke-width:10;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.intg-chart-line{
  fill:none;
  stroke:#fc5603;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.intg-chart-point{
  fill:#fc5603;
  stroke:#111214;
  stroke-width:2;
}

.intg-chart-point-value{
  fill:#f8fafc;
  font-size:12px;
  font-weight:700;
}

.intg-chart-axis-label{
  fill:#94a3b8;
  font-size:12px;
  font-weight:600;
}

.integracoes-mini-kpis{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-bottom:18px;
}

.integracoes-mini-kpi{
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.025);
  border-radius:16px;
  padding:16px;
}

.integracoes-mini-kpi .k{
  display:block;
  color:#94a3b8;
  font-size:12px;
  margin-bottom:8px;
}

.integracoes-mini-kpi .v{
  display:block;
  color:#ffffff;
  font-size:24px;
  font-weight:800;
}

.integracoes-mini-kpi--alert{
  border-color:rgba(252,86,3,0.28);
  background:rgba(252,86,3,0.08);
}

.integracoes-rank-block + .integracoes-rank-block{ margin-top:18px; }

.integracoes-rank-title{
  font-size:14px;
  font-weight:800;
  color:#ffffff;
  margin-bottom:10px;
}

.integracoes-rank-item--endpoint .name{
  font-family:Consolas, Monaco, 'Courier New', monospace;
  font-size:13px;
}

.integracoes-head-btn,
.integracoes-head-btn:link,
.integracoes-head-btn:visited,
.integracoes-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:0 16px;
  border-radius:12px;
  text-decoration:none !important;
  font-weight:700;
  font-size:14px;
  transition:all .18s ease;
  box-shadow:none;
}

.integracoes-action-btn{ border-radius:14px; }
.integracoes-action-btn i{ font-size:14px; line-height:1; }

.integracoes-head-btn--ghost{
  background:rgba(255,255,255,0.04);
  color:#f8fafc;
  border:1px solid rgba(255,255,255,0.10);
}

.integracoes-head-btn--ghost:hover{
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  border-color:rgba(255,255,255,0.16);
  transform:translateY(-1px);
}

.integracoes-head-btn--primary,
.integracoes-action-btn--primary{
  background:linear-gradient(135deg, #fc5603 0%, #ff7a33 100%);
  color:#ffffff !important;
  border:1px solid transparent;
}

.integracoes-head-btn--primary:hover,
.integracoes-action-btn--primary:hover{
  color:#ffffff;
  filter:brightness(1.05);
  transform:translateY(-1px);
  text-decoration:none !important;
  box-shadow:0 12px 24px rgba(252, 86, 3, 0.22);
}

.integracoes-action-btn--primary:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(252, 86, 3, 0.18);
}

.integracoes-reprocess-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 12px;
  border-radius:10px;
  border:1px solid rgba(252,86,3,0.25);
  background:rgba(252,86,3,0.10);
  color:#ffd7c2;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:all .16s ease;
}

.integracoes-reprocess-btn:hover{
  background:rgba(252,86,3,0.16);
  border-color:rgba(252,86,3,0.40);
  color:#fff1ea;
}

.integracoes-reprocess-btn:disabled{
  opacity:.65;
  cursor:wait;
}

#tabelaIntegracoesInterrompidas tbody tr:hover td{ background:rgba(252,86,3,0.05); }

/* Credenciais */
.integracoes-cred-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}

.integracoes-cred-card{
  background:#18191b;
  border:1px solid rgba(255,255,255,0.07);
  border-radius:18px;
  padding:18px;
}

.integracoes-cred-card-title{
  font-size:18px;
  font-weight:800;
  color:#ffffff;
  margin-bottom:14px;
}

.integracoes-cred-steps{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.integracoes-cred-step{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
}

.integracoes-cred-step-num{
  width:30px;
  height:30px;
  border-radius:999px;
  background:rgba(252,86,3,0.14);
  border:1px solid rgba(252,86,3,0.24);
  color:#fc5603;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:13px;
  flex:0 0 30px;
}

.integracoes-cred-step-title{
  font-size:15px;
  font-weight:700;
  color:#ffffff;
  margin-bottom:4px;
}

.integracoes-cred-step-text{
  color:#cbd5e1;
  line-height:1.6;
  font-size:14px;
}

.integracoes-cred-step-text code,
.integracoes-cred-note code{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  padding:2px 8px;
  color:#f8fafc;
  font-family:Consolas, Monaco, 'Courier New', monospace;
  font-size:12px;
}

.integracoes-cred-endpoint{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  margin-bottom:12px;
}

.integracoes-cred-note{
  margin-top:8px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(252,86,3,0.05);
  border:1px dashed rgba(252,86,3,0.24);
  color:#cbd5e1;
  line-height:1.6;
  font-size:14px;
}

@media (max-width:1200px){
  .integracoes-stat-grid--dashboard{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .integracoes-dashboard-grid{ grid-template-columns:1fr; }
  .integracoes-dashboard-grid .integracoes-panel:nth-child(3){ grid-column:auto; }
}

@media (max-width:980px){
  .integracoes-cred-grid{ grid-template-columns:1fr; }
}

@media (max-width:720px){
  .integracoes-stat-grid--dashboard,
  .integracoes-mini-kpis{ grid-template-columns:1fr; }

  .integracoes-head-actions{ width:100%; }

  .integracoes-head-actions .btn{
    width:100%;
    justify-content:center;
  }
}

@media (max-width:700px){
  .integracoes-mini-item__top{
    flex-direction:column;
    align-items:flex-start;
  }

  .integracoes-mini-item__meta{ grid-template-columns:1fr; }
}
