/* GestãoInteligente — styles.css (CONSOLIDADO / ORGANIZADO • VERSÃO 6.5) */

/* v6.5) ALIAS / DEDUP (gi-* como canônico) */

/* TOC (estrutura) */

/* 1) TOKENS (VARIÁVEIS) — TEMA PADRÃO (ESCuro) */
:root{
  --font-main: 'Quicksand', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

  /* Fundo do sistema */
  --bg-main: radial-gradient(
    ellipse at top,
    #1a2a38 0%,
    #0b1220 60%,
    #070b14 100%
  );

  /* Card do login */
  --card-bg: #d6d8dc;
  --card-text: #0f172a;

  /* Textos */
  --text-default: #0f172a;
  --text-on-dark: #e2e8f0;
  --text-on-dark-muted: #cbd5e1;

  /* Inputs / labels */
  --input-bg: #eef0f3;
  --input-text: #0f172a;
  --label-text: #111827;

  /* Painéis (page-mode) */
  --panel-bg: rgba(214,216,220,0.08);
  --panel-border: rgba(255,255,255,0.08);

  /* Blocos */
  --block-bg: rgba(214,216,220,0.12);
  --block-border: rgba(255,255,255,0.08);

  /* Muted box */
  --muted-bg: rgba(238,240,243,0.10);
  --muted-text: #cbd5e1;
  --muted-border: rgba(255,255,255,0.06);

  /* Tabela */
  --table-bg: #fff;
  --table-th-bg: #f1f5f9;
  --table-th-text: #0b1220;
  --table-border: #cbd5e1;

  /* Cores do sistema */
  --brand-green: #10b981;
  --brand-green-2: #34d399;

  /* Perigo (logout) */
  --danger: #ef4444;
  --danger-bg: rgba(239,68,68,0.10);
  --danger-border: rgba(239,68,68,0.35);
  --danger-bg-hover: rgba(239,68,68,0.16);
  --danger-border-hover: rgba(239,68,68,0.55);
}/* 2) TEMA CLARO (aplicar: body.theme-light) */
body.theme-light{
  --input-h: 44px;
  --bg-main: #f8fafc;

  --card-bg: #ffffff;
  --card-text: #0f172a;

  --text-default: #0f172a;
  --text-on-dark: #0f172a;
  --text-on-dark-muted: #475569;

  --input-bg: #e5e7eb;
  --input-text: #0f172a;
  --label-text: #0f172a;

  --panel-bg: #ffffff;
  --panel-border: #cbd5e1;

  --block-bg: #f1f5f9;
  --block-border: #cbd5e1;

  --muted-bg: #f1f5f9;
  --muted-text: #475569;
  --muted-border: #e5e7eb;

  --table-bg: #ffffff;
  --table-th-bg: #e5e7eb;
  --table-th-text: #0b1220;
  --table-border: #e5e7eb;
}/* 3) BASE / RESET */
*{ box-sizing: border-box; font-family: var(--font-main); }button,input,select,textarea,table,th,td,label,a,span,p,h1,h2,h3,h4,h5,h6{
  font-family: inherit;
}html, body{
  width:100%;
  height:100%;
  margin:0;
}/* 4) LOGIN (padrão quando NÃO for page-mode) */
body{
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--bg-main);
  color: var(--text-default);
}.card{
  width: 520px;
  max-width: calc(100% - 32px);
  background: var(--card-bg);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  color: var(--card-text);
}.brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin-bottom: 22px;
}.logo{
  width:64px;
  height:64px;
  border-radius: 14px;
  background: var(--brand-green);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 22px rgba(16,185,129,.35);
}.logo svg{ width:34px; height:34px; fill:white; }.brand h1{
  margin:0;
  font-size: 28px;
  font-weight: 800;
  color:#0b1220;
}.brand p{
  margin:0;
  color:#475569;
  font-size:14px;
}.form-group,
.ar-form-grid-stack{
 margin-top: 14px;
}label{
  display:block;
  font-size:14px;
  font-weight:700;
  color: var(--label-text);
  margin-bottom:8px;
}.input{
  width:100%;
  border: 0;
  outline: none;
  padding: 14px;
  border-radius: 10px;
  background: var(--input-bg);
  color: var(--input-text);
  font-size: 14px;
}.password-wrap{ position:relative; }.toggle-eye{
  position:absolute;
  right:10px;
  top:50%;
  transform: translateY(-50%);
  border:0;
  background: transparent;
  cursor:pointer;
  padding:8px;
  color:#64748b;
  font-weight:700;
}/* Botões (base) */
.btn{
  border:0;
  cursor:pointer;
  border-radius:10px;
  font-weight:800;
  text-decoration:none !important;
  user-select:none;
}/* Login: botão “grande” */
body:not(.page-mode) .btn{
  margin-top: 18px;
  width:100%;
  padding: 14px;
  background: var(--brand-green);
  color:#fff;
}body:not(.page-mode) .btn:hover,
body.page-mode .btn:hover,
body.page-mode .btn:hover { filter: brightness(.95); }.links{
  margin-top: 12px;
  display:flex;
  justify-content: space-between;
  gap:10px;
  font-size: 13px;
}.links a{
  color: var(--text-default);
  text-decoration: none;
  font-weight:700;
}.links a:hover,
body.page-mode .table a:hover,
table.gi-dash-table a:hover,
body.page-mode .table a:hover,
table.gi-dash-table a:hover { text-decoration: underline; }.muted-box{
  margin-top: 14px;
  background: var(--input-bg);
  border-radius: 10px;
  padding: 12px;
  text-align:center;
  color:#475569;
  font-size: 13px;
}.error{
  background:#fee2e2;
  color:#7f1d1d;
  padding: 10px;
  border-radius: 10px;
  margin-top: 12px;
  font-size: 13px;
}.success{
  background:#dcfce7;
  color:#14532d;
  padding: 10px;
  border-radius: 10px;
  margin-top:  12px;
  font-size: 13px;
}.hint{
  color:#64748b;
  font-size:12px;
  margin-top:6px;
}/* Força da senha */
.password-strength{ margin-top: 10px; }.strength-bar{
  width: 100%;
  height: 8px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
}.strength-bar #strength-fill{
  display:block;
  height:100%;
  width:0%;
  background-color: transparent;
  transition: width .3s ease, background-color .3s ease;
}.strength-bar #strength-fill.strength-weak{ background-color: #ef4444; }.strength-bar #strength-fill.strength-medium{ background-color: #f59e0b; }.strength-bar #strength-fill.strength-strong{ background-color: #10b981; }.strength-text{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #475569;
}/* 5) PAGE-MODE (layout do sistema inteiro) */
body.page-mode{
  display:block !important;
  align-items: initial !important;
  justify-content: initial !important;
  margin:0;
  min-height: 100vh;
  background: var(--bg-main) !important;
  color: var(--text-on-dark) !important;
}/* layout geral */
.page{
  height: 100vh;
  width: 100%;
  display:flex;
  gap: 22px;
  padding: 22px;
  box-sizing: border-box;
  overflow: hidden;
}.page-aside{
  width: 320px;
  padding: 22px;
  border-radius: 18px;
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  box-sizing: border-box;
}.page-main{
  flex:1;
  min-width:0;
  overflow:auto;
  padding:0;
  padding-bottom: 2px;
}@media (max-width: 900px){
  .page{ flex-direction: column; height:auto; }
  .page-aside{ width:100%; }
}/* Login não pode mostrar menu */
body:not(.page-mode) .side-nav,
body:not(.page-mode) .logout-btn,
body.page-mode.sidebar-collapsed .brand-text,
body.page-mode.sidebar-collapsed .nav-text,
body.page-mode.sidebar-collapsed .nav-text {
  display:none !important;
}/* 6) SIDEBAR / BRAND / NAVEGAÇÃO */
.page-aside .brand{ align-items:center !important; text-align:center; }.page-aside .brand h1{
  color: #f8fafc;
  font-weight: 900;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}.page-aside .brand p{
  color: #cbd5e1;
  font-size: 14px;
  opacity: 0.95;
}.page-aside .brand h1 span{ color: var(--brand-green-2); }/* topo do menu (tema + colapsar) */
.side-nav-top{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-bottom: 10px;
}.theme-btn{
  width:40px;
  height:40px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: #e2e8f0;
  transition: all .2s ease;
}.theme-btn:hover{
  background: rgba(52,211,153,0.15);
  border-color: rgba(52,211,153,0.35);
  transform: translateY(-1px);
}body.theme-light .theme-btn{
  border: 1px solid #cbd5e1;
  background: #eef2f7;
  color: #0f172a;
}body.theme-light .theme-btn:hover{ background:#e5e7eb; }.collapse-btn{
  font-size: 18px;
  line-height: 1;
}/* menu */
.side-nav{
  margin-top: 22px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  align-items: stretch;
}.side-nav .nav-item{
  font-weight:700;
  font-size:15px;
  padding: 12px 14px;
  border-radius: 12px;

  text-decoration:none;
  color:#e2e8f0;

  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);

  transition: all .2s ease;

  display:flex;
  align-items:center;
  gap:10px;
  width: 100%;
  justify-content: flex-start;
}.side-nav .nav-item:hover{
  background: rgba(52,211,153,0.15);
  border-color: rgba(52,211,153,0.4);
  color: #ecfdf5;
}.side-nav .nav-item.active{
  background: linear-gradient(
    135deg,
    rgba(16,185,129,0.9),
    rgba(52,211,153,0.9)
  );
  color: #022c22;
  box-shadow: 0 6px 18px rgba(16,185,129,.35);
}.nav-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  min-width:28px;
  text-align:center;
  font-size:18px;
}.nav-text{
  display:inline-block;
  white-space: nowrap;
}/* Sidebar com footer embaixo */
.side-layout{
  height: 100%;
  min-height: calc(100vh - 44px);
  display:flex;
  flex-direction: column;
  justify-content: space-between;
}.side-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}.logout-btn{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;

  background: rgba(239,68,68,0.12);
  border: 1px solid rgba(239,68,68,0.35);
  transition: all .2s ease;
}.logout-btn svg{ width:22px; height:22px; fill:#ef4444; }.logout-btn:hover{
  background: rgba(239,68,68,0.18);
  border-color: rgba(239,68,68,0.55);
  transform: translateY(-1px);
}/* 7) TOPBAR / BLOCKS */
.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding: 18px;
  border-radius: 18px;
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  margin-bottom: 16px;
  color: var(--text-on-dark);
}.topbar-actions{ display:flex; align-items:center; gap:10px; }.block,
.gi-card{
  padding: 18px;
  border-radius: 18px;
  background: var(--block-bg);
  border: 1px solid var(--block-border);
}.block-sep,
.gi-dash-sep{
 margin-top: 22px;
}.block-title{
  font-weight: 900;
  color: var(--text-on-dark);
  margin:  0 0 12px 0;
}body.page-mode label{ color: var(--text-on-dark); }body.page-mode .muted-box{
  background: var(--muted-bg);
  color: var(--muted-text);
  border: 1px solid var(--muted-border);
}/* 8) BOTÕES NO SISTEMA (page-mode) */
body.page-mode .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-weight:800;
  line-height:1;
  text-decoration:none !important;
}body.page-mode .btn.btn-small{
  width:auto;
  padding:10px 14px;
  font-size:13px;
  margin-top:0 !important;
}/* padrão verde */
body.page-mode .btn{
  background: var(--brand-green);
  color:#ffffff !important;
}
/* botão “icone” */
.icon-btn{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;

  background: var(--danger-bg);
  border: 1px solid var(--danger-border);
  transition: all .2s ease;
}.icon-btn svg{ width:20px; height:20px; fill: var(--danger); }.icon-btn:hover{
  background: var(--danger-bg-hover);
  border-color: var(--danger-border-hover);
  transform: translateY(-1px);
}/* BOTÃO SECUNDÁRIO (ex: Limpar / Cancelar) */
body.page-mode .btn.btn-secondary{
  background: rgba(255,255,255,0.10) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #e2e8f0 !important;
  font-weight: 900;
  text-decoration: none !important;
}body.page-mode .btn.btn-secondary:hover{
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.26) !important;
  filter: none !important;
}body.theme-light.page-mode .btn.btn-secondary{
  background: rgba(15,23,42,0.06) !important;
  border: 1px solid rgba(15,23,42,0.14) !important;
  color: #0b1220 !important;
}body.theme-light.page-mode .btn.btn-secondary:hover{
  background: rgba(15,23,42,0.09) !important;
  border-color: rgba(15,23,42,0.18) !important;
}/* 9) FILTROS / CABEÇALHO DE TABELA */
.table-head,
.gi-table-head,
.sup-table-head,
.mdd-head-row{

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}.table-filters-grid,
.gi-table-filters-grid{

  margin-top: 12px;
  display:grid;
  gap:10px;
  align-items:end;
}.filters-actions{
  margin-top: 10px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start !important;
}body.page-mode .table-filters-grid .btn,
body.page-mode .filters-actions .btn,
body.page-mode .filters-actions a.btn{
  width:auto !important;
  margin-top:0 !important;
  padding:10px 14px;
  border-radius:10px;
  line-height:1;
  font-size:13px;
  white-space:nowrap;
  text-decoration:none !important;
}/* “Limpar” neutro */
body.page-mode .filters-actions a.btn{
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color: #e2e8f0 !important;
  font-weight: 900;
}body.theme-light.page-mode .filters-actions a.btn{
  background: rgba(15,23,42,0.06);
  border: 1px solid rgba(15,23,42,0.14);
  color: #0b1220 !important;
}@media (max-width: 1100px){
  .table-filters-grid{ grid-template-columns: 1fr 1fr !important; }
}@media (max-width: 700px){
  .table-filters-grid{ grid-template-columns: 1fr !important; }
}/* 10) TABELAS */
.table{
  width:100%;
  border-collapse: collapse;
  margin-top: 12px;
  font-size: 13px;
  background: var(--table-bg);
  border-radius: 14px;
  overflow:hidden;
}.table th, .table td{
  padding:10px;
  border-bottom:1px solid var(--table-border);
  text-align:left;
  vertical-align: middle !important;
}.table th{
  color: var(--table-th-text);
  background: var(--table-th-bg);
}.table th.col-action,
.table td.col-action{
  text-align:center !important;
  white-space: nowrap;
  width: 140px;
}/* texto legível dentro da tabela */
body.page-mode .table,
body.page-mode .table td,
body.page-mode .table a,
body.page-mode table,
body.page-mode .table a,
body.page-mode table,
body.page-mode table th,
body.page-mode table td { color:#0f172a !important; }body.page-mode .table th{ color:#0b1220 !important; }

body.page-mode .table a.btn,
body.page-mode .table a.btn:visited,
body.page-mode .table button.btn{
  color:#ffffff !important;
  text-decoration:none !important;
}body.page-mode .table .btn,
body.page-mode .table a.btn,
body.page-mode .table button.btn{
  margin-top: 0 !important;
  width: auto !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}/* 11) BADGES / PILLS / AÇÕES EM TABELAS — padrão global */

/* 11.1) BADGES (Sim / Não) — base do padrão */
.badge-yes, .badge-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.2px;
}.badge-yes,
.tbl-pill-success{

  background: rgba(16,185,129,0.90);
  border: 1px solid rgba(16,185,129,1);
  color:#022c22;
  box-shadow: 0 6px 16px rgba(16,185,129,.22);
}.badge-no,
.tbl-pill-danger{

  background: rgba(239,68,68,0.75);
  border: 1px solid rgba(239,68,68,1);
  color:#ffffff;
  box-shadow: 0 6px 16px rgba(239,68,68,.18);
}body.theme-light .badge-yes,
body.theme-light .tbl-pill-success {
  background: rgba(34,197,94,0.22);
  border: 1px solid rgba(34,197,94,0.55);
  color:#14532d;
  box-shadow:none;
}body.theme-light .badge-no,
body.theme-light .tbl-pill-danger,
body.theme-light .tbl-pill-danger {
  background: rgba(239,68,68,0.22);
  border: 1px solid rgba(239,68,68,0.55);
  color:#7f1d1d;
  box-shadow:none;
}/* 11.2) PILLS GLOBAIS (Status em tabelas) */
.tbl-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.2px;
  white-space:nowrap;
}/* sucesso (mesmo do “Sim”) */

/* perigo (mesmo do “Não”) */

/* aviso (mesma intensidade, cor âmbar) */
.tbl-pill-warning{
  background: rgba(245,158,11,0.85);
  border: 1px solid rgba(245,158,11,1);
  color:#451a03;
  box-shadow: 0 6px 16px rgba(245,158,11,.18);
}/* info (mesma intensidade, cor azul) */
.tbl-pill-info{
  background: rgba(59,130,246,0.85);
  border: 1px solid rgba(59,130,246,1);
  color:#eff6ff;
  box-shadow: 0 6px 16px rgba(59,130,246,.18);
}/* tema claro (mesma “lógica” do Sim/Não: alpha baixo + borda 0.55 + texto escuro) */

body.theme-light .tbl-pill-warning{
  background: rgba(245,158,11,0.22);
  border: 1px solid rgba(245,158,11,0.55);
  color:#7c2d12;
  box-shadow:none;
}body.theme-light .tbl-pill-info{
  background: rgba(59,130,246,0.22);
  border: 1px solid rgba(59,130,246,0.55);
  color:#1e3a8a;
  box-shadow:none;
}/* 11.3) BOTÕES GLOBAIS EM TABELAS (Ações) */

.tbl-btn{
  appearance:none;
  -webkit-appearance:none;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:auto;
  margin:0;
  padding:10px 14px;

  border-radius:12px;
  font-weight:900;
  cursor:pointer;
  transition: all .15s ease;
  line-height:1;
  user-select:none;

  border:1px solid rgba(255,255,255,.14);

  text-decoration: none;   /* << adiciona isto */
}.tbl-btn:hover{
  text-decoration: none;   /* << opcional (pra garantir no hover) */

}/* SECTION */
/* INFO (Editar) — mesma “força” dos pills */
.tbl-btn-info{
  background: rgba(59,130,246,0.85);
  border-color: rgba(59,130,246,1);
  color:#eff6ff;
  box-shadow: 0 6px 16px rgba(59,130,246,.18);
}.tbl-btn-info:hover,
.tbl-btn-success:hover,
.tbl-btn-danger:hover,
.tbl-btn-success:hover,
.tbl-btn-danger:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}/* SUCCESS (Concluir) — espelha o badge-yes */
.tbl-btn-success{
  background: rgba(16,185,129,0.90);
  border-color: rgba(16,185,129,1);
  color:#022c22;
  box-shadow: 0 6px 16px rgba(16,185,129,.22);
}
/* DANGER (Cancelar) — espelha o badge-no */
.tbl-btn-danger{
  background: rgba(239,68,68,0.75);
  border-color: rgba(239,68,68,1);
  color:#ffffff;
  box-shadow: 0 6px 16px rgba(239,68,68,.18);
}
/* SECTION */
body.theme-light .tbl-btn{
  box-shadow:none;
}/* No claro: alpha baixo + borda 0.55 + texto escuro */
body.theme-light .tbl-btn-info{
  background: rgba(59,130,246,0.22);
  border: 1px solid rgba(59,130,246,0.55);
  color:#1e3a8a;
}body.theme-light .tbl-btn-success,
body.theme-light.page-automations-scheduler .gi-status-pill.on,
body.theme-light.page-automations-scheduler .gi-status-pill.on {
  background: rgba(34,197,94,0.22);
  border: 1px solid rgba(34,197,94,0.55);
  color:#14532d;
}body.theme-light .tbl-btn-danger,
body.theme-light.page-automations-scheduler .gi-status-pill.off,
body.theme-light.page-automations-scheduler .gi-status-pill.off {
  background: rgba(239,68,68,0.22);
  border: 1px solid rgba(239,68,68,0.55);
  color:#7f1d1d;
}
  /* MUTED (Neutro) — usado em "Detalhes NF" */
.tbl-btn-muted{
  background: rgba(148,163,184,0.18);
  border: 1px solid rgba(148,163,184,0.35);
  color:#e5e7eb;
  box-shadow: none;
}

.tbl-btn-muted:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

/* No tema claro: deixa legível */
body.theme-light .tbl-btn-muted{
  background: rgba(15,23,42,0.06);
  border: 1px solid rgba(15,23,42,0.18);
  color:#0f172a;

}/* 12) CHECKBOX “AUTOMATIZAR” */
.check-row,
.gi-check-pill{

  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  width: fit-content;
  max-width: 100%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
}body.theme-light .check-row{
  background: rgba(15,23,42,0.06);
  border: 1px solid rgba(15,23,42,0.14);
}.check-row input[type="checkbox"],
.gi-check-pill input[type="checkbox"],
.gi-check-pill input[type="checkbox"] {
  width:18px;
  height:18px;
  cursor:pointer;
}.check-row label,
.gi-check-pill label,
.gi-check-pill label {
  margin:0;
  cursor:pointer;
  font-weight:900;
}/* 13) TEMA CLARO (page-mode) — CONTRASTE (consolidado) */
body.theme-light.page-mode{
  --bg-main: #eef2f7;

  --text-default: #0f172a;
  --text-on-dark: #0f172a;
  --text-on-dark-muted: #475569;

  --panel-bg: #ffffff;
  --panel-border: rgba(15,23,42,0.14);

  --block-bg: #ffffff;
  --block-border: rgba(15,23,42,0.12);

  --muted-bg: rgba(15,23,42,0.045);
  --muted-text: #334155;
  --muted-border: rgba(15,23,42,0.10);

  --input-bg: #f1f5f9;
  --input-text: #0f172a;
  --label-text: #0f172a;

  --table-bg: #ffffff;
  --table-th-bg: #e9eef6;
  --table-th-text: #0b1220;
  --table-border: #d7dee9;
}/* remove aparência “apagada” em cards/atalhos */
body.theme-light.page-mode .block [class*="card"],
body.theme-light.page-mode .block [class*="tile"],
body.theme-light.page-mode .block [class*="shortcut"],
body.theme-light.page-mode .block [class*="module"]{
  opacity: 1 !important;
  filter: none !important;
}body.theme-light.page-mode .block [class*="card"] *,
body.theme-light.page-mode .block [class*="tile"] *,
body.theme-light.page-mode .block [class*="shortcut"] *,
body.theme-light.page-mode .block [class*="module"] *{
  opacity: 1 !important;
}/* profundidade (topbar/blocos/sidebar) */
body.theme-light.page-mode .topbar,
body.theme-light.page-mode .block,
body.theme-light.page-mode .page-aside{
  box-shadow: 0 14px 34px rgba(2,6,23,0.08) !important;
}/* sidebar clara bem definida */
body.theme-light.page-mode .page-aside{
  background: #ffffff !important;
  border-color: rgba(15,23,42,0.14) !important;
  color: #0f172a !important;
}body.theme-light.page-mode .page-aside .brand h1{
  color: #0f172a !important;
  text-shadow: none !important;
}body.theme-light.page-mode .page-aside .brand p{
  color: #475569 !important;
  opacity: 1 !important;
}/* menu no claro */
body.theme-light.page-mode .side-nav .nav-item{
  color: #0f172a !important;
  background: rgba(15,23,42,0.04) !important;
  border: 1px solid rgba(15,23,42,0.12) !important;
}body.theme-light.page-mode .side-nav .nav-item:hover{
  background: rgba(16,185,129,0.12) !important;
  border-color: rgba(16,185,129,0.30) !important;
  color: #0b1220 !important;
}body.theme-light.page-mode .side-nav .nav-item.active{
  background: linear-gradient(135deg, rgba(16,185,129,0.95), rgba(52,211,153,0.95)) !important;
  color: #ffffff !important;
  border-color: rgba(16,185,129,0.45) !important;
  box-shadow: 0 10px 26px rgba(16,185,129,0.22) !important;
}/* Ícone voltar/sair visível no claro */
body.theme-light.page-mode .icon-btn svg{
  fill: #b91c1c !important;
}/* 13.1) CARDS / ATALHOS (cadastros.php / movimentações / manutenção) */
.cards,
.maint-cards,
.rep-cards,
.set-cards{

  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}@media (max-width: 1000px){
  .cards,
  .maint-cards,
  .rep-cards,
  .set-cards{ grid-template-columns: 1fr 1fr; }
}@media (max-width: 650px){
  .cards,
  .maint-cards,
  .rep-cards,
  .set-cards{ grid-template-columns: 1fr; }
}.card-link,
.mov-card-link{

  display:block;
  padding:18px;
  border-radius:18px;
  background: var(--block-bg);
  border: 1px solid var(--block-border);
  text-decoration:none !important;
}.card-link h3,
.mov-card-link h3,
.mov-card-link h3 {
  margin:0;
  color: var(--text-on-dark);
  font-weight:900;
}.card-link p,
.mov-card-link p,
.mov-card-link p {
  margin:6px 0 0;
  color: var(--text-on-dark-muted);
  font-size:13px;
}/* 13.2) CLIENTS.PHP — COMPONENTES REUTILIZÁVEIS */

/* 13.3) GRID DE FORMULÁRIO (3 COLUNAS RESPONSIVO) */
.gi-form-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px; /* v6.5: unificado com o comportamento efetivo (havia override mais abaixo) */
  align-items: end;
}
.sup-form-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-items: end;
}.gi-grid-full,
.sup-form-full,
.mp-grid-full,
.sc-grid-full,
.mn-notes-full,
.mp-grid-full,
.sc-grid-full,
.ar-grid-full,
body.page-automations-scheduler .gi-grid-full,
.re-grid-full,
.rr-grid-full { grid-column: 1 / -1; }@media (max-width: 1000px){
  .gi-form-grid-3,
  .sup-form-grid-3{ grid-template-columns: 1fr 1fr; }
}

/* utilitários de grid — spans */
.gi-grid-span-2{ grid-column: span 2; }


@media (max-width: 650px){
  .gi-form-grid-3,
  .sup-form-grid-3{ grid-template-columns: 1fr; }
  .gi-grid-full{ grid-column: auto; }
}/* Mantém inputs previsíveis dentro do grid */
.gi-form-grid-3 .form-group,
.ee-form-grid-3 .form-group,
.mn-form-grid-3 .form-group,
.ar-form-grid-3 .form-group { min-width:0; }.gi-form-grid-3 .input,
.ee-form-grid-3 .input,
.mn-form-grid-3 .input,
.mr-form-line-2 .input,
.ar-form-grid-3 .input,
.ee-form-grid-3 .input,
.mn-form-grid-3 .input,
.mr-form-line-2 .input,
.ar-form-grid-3 .input { width:100%; }/* 13.4) TEXTO AUXILIAR (MUTED) */
.muted,
.su-muted,
.gi-muted{

  color:#cbd5e1;
  font-size: 13px;
  opacity:.9;
  margin-top: 6px;
}body.theme-light .muted{
  color:#334155;
  opacity:.9;
}

/* GRID DE FORMULÁRIO (2 COLUNAS) — utilitário GI */
.gi-form-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: end;
}

/* Responsivo */
@media (max-width: 1000px){
  .gi-form-grid-2{ grid-template-columns: 1fr; }
}


/* 13.5) LINHA DE AÇÕES (BOTÕES) */
.gi-actions-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap: wrap;
  margin-top: 14px;
}.gi-actions-end{ justify-content:flex-end; }.gi-actions-start{ justify-content:flex-start; }.gi-actions-row .btn,
.gi-actions-row .btn:link,
.gi-actions-row .btn:visited,
.sup-actions-row .btn,
.sup-actions-row .btn:link,
.sup-actions-row .btn:visited,
.ee-form-actions .btn,
.ee-form-actions .btn:link,
.ee-form-actions .btn:visited,
.aut-actions-row .btn,
.aut-actions-row .btn:link,
.aut-actions-row .btn:visited {
  text-decoration:none !important;
  font-size:13px !important;
  line-height:1.1;
  white-space:nowrap;
}/* 13.6) COLUNA "Ação" EM TABELAS */
th.gi-col-action, td.gi-col-action,
th.sup-col-action, td.sup-col-action {
  text-align:center !important;
  vertical-align: middle !important;
  width: 140px;
  white-space: nowrap;
}/* 13.7) CABEÇALHO + FILTROS DE TABELA (PADRÃO) */

.gi-filters-actions,
.sup-filters-actions{

  margin-top: 10px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
}.gi-table-filters-grid .btn {
  margin-top: 0 !important;
  width:auto !important;
  padding:10px 14px;
  border-radius:10px;
  line-height:1;
  font-size:13px;
  white-space:nowrap;
}/* Botão "Limpar" (link) no mesmo estilo do sistema */
.gi-filters-actions a.btn,
.sup-filters-actions a.btn,
.gi-btn-soft,
body.page-automations-logs .gi-filters-actions a.btn {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color: #e2e8f0 !important;
  font-weight: 800;
}body.theme-light .gi-filters-actions a.btn,
body.page-mode.theme-light .sup-filters-actions a.btn,
body.theme-light .gi-btn-soft,
body.theme-light.page-automations-logs .gi-filters-actions a.btn,
body.page-mode.theme-light .sup-filters-actions a.btn,
body.theme-light .gi-btn-soft,
body.theme-light.page-automations-logs .gi-filters-actions a.btn {
  background: rgba(15,23,42,0.06);
  border: 1px solid rgba(15,23,42,0.14);
  color: #0b1220 !important;
  font-weight: 900;
}@media (max-width: 1100px){
  .gi-table-filters-grid{ grid-template-columns: 1fr 1fr !important; }
}@media (max-width: 700px){
  .gi-table-filters-grid{ grid-template-columns: 1fr !important; }
}
/* 13.7.1) CAMADA CANÔNICA (GI) — COMPONENTES REUTILIZÁVEIS */

/* Card “largo central” (listas/forms grandes) */
.gi-card-wide{
  width: min(1180px, 100%);
  max-width: 1180px !important;
  margin: 0 auto;
}

/* Ações em linha (para botões) */
.gi-btn-row{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items:center;
}
.gi-btn-row > .gi-btn{
  flex: 1 1 160px;
  min-width: 140px;
}
@media (max-width: 520px){
  .gi-btn-row > .gi-btn{
    flex: 1 1 100%;
    min-width: 0;
  }
}

/* Botão canônico (não substitui .btn existente — é um “novo padrão”) */
.gi-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;

  height: var(--input-h);
  padding: 0 14px;

  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.18);

  background: rgba(255,255,255,0.10);
  color: var(--text-on-dark) !important;

  font-weight: 900;
  cursor:pointer;
  user-select:none;
  white-space: nowrap;

  transition: transform .05s ease, filter .15s ease;
}
.gi-btn:active{ transform: translateY(1px); }
.gi-btn[disabled]{ opacity:.6; cursor:not-allowed; }

/* Variações */
.gi-btn-primary{
  background: linear-gradient(180deg, var(--brand-green) 0%, var(--brand-green-2) 100%);
  color: #061b12 !important;
  border-color: rgba(6,27,18,0.18);
}
.gi-btn-danger{
  background: var(--danger-bg);
  border-color: var(--danger-border);
  color: #fecaca !important;
}
body.theme-light .gi-btn-danger{
  background: rgba(239,68,68,0.18);
  border-color: rgba(239,68,68,0.35);
  color: #7f1d1d !important;
}
.gi-btn-ghost{
  background: transparent;
  border-color: rgba(255,255,255,0.18);
}

/* Botão menor */
.gi-btn-sm{
  height: 34px;
  padding: 0 10px;
  border-radius: 12px;
  font-size: 13px;
}

/* Tabela canônica com “wrap” */
.gi-table-wrap{
  width:100%;
  overflow:auto;
  border-radius: 16px;
  border: 1px solid var(--table-border);
  background: var(--table-bg);
}
.gi-table{
  width:100%;
  border-collapse: collapse;
  min-width: 900px;
}
.gi-table th,
.gi-table td{
  padding:10px;
  border-bottom: 1px solid var(--table-border);
  text-align:left;
  vertical-align: middle !important;
}
.gi-table th{
  background: var(--table-th-bg);
  color: var(--table-th-text);
  font-weight: 900;
}

/* Ações em tabela (botões mini lado a lado) */
.gi-row-actions,
.iu-actions-row,
.mp-actions-inline{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content:center;
}
.gi-row-actions .gi-btn{ height: 34px; padding: 0 10px; }

/* v6) ALIAS INICIAL (migração progressiva para gi-*) */

/* Observação:
   - .iu-actions-row mantém regras específicas (forms inline-flex)
     no bloco do invite_user.php mais abaixo.
   - .mp-actions-inline pode ter gap diferente; as regras específicas
     continuam valendo porque aparecem depois no arquivo. */
/* 13.8) CHECKBOX “PÍLULA” (Automatizar) */
body.theme-light .gi-check-pill{
  background: rgba(15,23,42,0.06);
  border: 1px solid rgba(15,23,42,0.14);
}

/* 13.9) BADGES “SIM / NÃO” (Automatizar) */
.gi-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.4px;
  color:#ffffff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.55);
}/* Verde forte */
.gi-badge-yes{
  background: rgba(34,197,94,0.80);
  border: 1px solid rgba(34,197,94,1);
}/* Vermelho forte */
.gi-badge-no{
  background: rgba(239,68,68,0.75);
  border: 1px solid rgba(239,68,68,1);
}/* Tema claro: fundo suave e texto escuro (mais “corporativo”) */
body.theme-light .gi-badge{
  text-shadow:none;
}body.theme-light .gi-badge-yes{
  background: rgba(34,197,94,0.20);
  border: 1px solid rgba(34,197,94,0.55);
  color:#14532d;
}body.theme-light .gi-badge-no{
  background: rgba(239,68,68,0.20);
  border: 1px solid rgba(239,68,68,0.55);
  color:#7f1d1d;
}/* 13.10) EQUIPMENTS.PHP — Grid de filtros (4 colunas) */
.gi-filters-equipments{
  grid-template-columns: .6fr 2fr 1.6fr 1.6fr;
}/* Responsivo */
@media (max-width: 1100px){
  .gi-table-filters-grid.gi-filters-equipments,
.mov-cards,
  .maint-due-grid,
.mov-table-filters,
.ee-form-grid-3,
.mn-form-grid-3,
.mo-grid,
.sc-grid-3,
.su-grid-3,
.gi-filters-5,
.ar-form-grid-3,
body.page-automations-logs .gi-filters-grid,
body.page-automations-scheduler .as-filters-6 {
    grid-template-columns: 1fr 1fr;
  }
}@media (max-width: 700px){
  .gi-table-filters-grid.gi-filters-equipments,
.ee-form-grid-3,
.mn-form-grid-3,
.mo-grid,
.sc-grid-3,
.su-grid-3,
.gi-filters-5,
.ar-form-grid-3,
body.page-automations-logs .gi-filters-grid,
body.page-automations-scheduler .as-filters-6 {
    grid-template-columns: 1fr;
  }
}/* 13.1) CADASTROS • FORNECEDORES (suppliers.php) */

/* texto auxiliar */
.sup-muted{
  color: var(--text-on-dark-muted);
  font-size: 13px;
  opacity: .92;
  margin-top: 6px;
}body.page-mode.theme-light .sup-muted{
  color: #334155;
  opacity: 1;
  font-weight: 600;
}/* SECTION */
/* v6.2: .sup-form-grid-3 agora usa o mesmo bloco de .gi-form-grid-3 (alias) */
.sup-actions-row,
.su-actions{

  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap: wrap;
  margin-top: 14px;
}/* SECTION */
.sup-table-meta{
  opacity:.85;
  font-weight:800;
  font-size:13px;
}/* coluna Ação */
/* SECTION */
.sup-filters-grid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: .6fr 2fr 1.2fr 1.6fr 1.2fr 1.2fr;
  gap:10px;
  align-items:end;
}
@media (max-width: 1100px){
  .sup-filters-grid{ grid-template-columns: 1fr 1fr !important; }
}@media (max-width: 700px){
  .sup-filters-grid{ grid-template-columns: 1fr !important; }
}/* 14) SIDEBAR COLAPSÁVEL */
body.page-mode.sidebar-collapsed .page-aside{
  width: 92px !important;
  padding: 16px !important;
}
body.page-mode.sidebar-collapsed .side-nav .nav-item{
  justify-content:center;
  gap:0;
  padding: 12px 10px;
}body.page-mode.sidebar-collapsed .side-nav-top{ justify-content:center; }body.page-mode.sidebar-collapsed .logo{
  width: 54px;
  height: 54px;
  border-radius: 14px;
}/* suavidade */
body.page-mode .page-aside,
body.page-mode .page-main,
.side-nav .nav-item{
  transition: all .22s ease;
}/* 15) MOVEMENTS (movements.php) + ENTRADAS (equipment_entry.php) */

/* 15.1) MOVEMENTS.PHP — AÇÕES + FILTROS (theme-aware) */

/* cards de ações */
.mov-cards,
.maint-due-grid{

  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:16px;
  margin-top:16px;
}@media (max-width: 1100px){

}@media (max-width: 650px){
  .mov-cards,
  .maint-due-grid{ grid-template-columns: 1fr; }
}

/* filtros do histórico (grid específico dessa tela) */
.mov-table-filters{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.4fr 1fr;
  gap: 10px;
  align-items:end;
}@media (max-width: 1100px){

}@media (max-width: 600px){
  .mov-table-filters,
.ee-table-filters { grid-template-columns: 1fr; }
}.mov-filters-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  grid-column: 1 / -1;
}/* 15.2) EQUIPMENT ENTRY (equipment_entry.php) */

.ee-topbar-title,
.mn-topbar-title,
.mr-topbar-title,
.pr-strong{
 font-weight:900;
}/* badge de modo edição */
.ee-pill-edit{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  opacity:.95;

  margin-left:10px;
  background:#fff3cd;
  color:#664d03;
}/* SECTION */
.ee-form-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: end;
}@media (max-width: 1100px){

}@media (max-width: 700px){

}/* segurança de largura */

/* SECTION */
.ee-form-actions{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding-bottom:2px;
  margin-top:14px;
}.ee-form-actions form,
.mp-inline-form,
.mp-inline-form {
  display:inline-flex;
  margin:0;
  padding:0;
}/* meta da listagem */
.ee-results-meta,
.gi-table-meta,
.ar-results-meta{

  opacity:.85;
  font-weight:700;
  font-size:13px;
}/* SECTION */
.ee-table-filters{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1.3fr 1fr 1.4fr 1.1fr 1.1fr 1.1fr 1.1fr 1fr 1fr;
  gap: 10px;
  align-items:end;
}@media (max-width: 1300px){
  .ee-table-filters{ grid-template-columns: 1fr 1fr 1fr; }
}@media (max-width: 900px){
  .ee-table-filters{ grid-template-columns: 1fr 1fr; }
}@media (max-width: 600px){

}/* SECTION */
.ee-table td,
.ar-table th,
.ar-table td { vertical-align: middle !important; }.ee-actions-cell{
  vertical-align: middle !important;
  text-align:center;
}.ee-actions-wrap{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  white-space: nowrap;
}.ee-actions-wrap a,
.ee-actions-wrap button,
.ee-actions-wrap form{
  display:inline-flex;
  align-items:center;
  margin:0;
}.ee-actions-wrap .btn{ line-height: 1.1; }/* NF (célula) */
.ee-invoice-cell,
.iu-actions-row .iu-btn-mini { white-space: nowrap; }.ee-no-invoice{ opacity:.7; }/* Linha vazia — alias do .gi-empty-row (v6.3) */



/* 15.3) NOVA MOVIMENTAÇÃO (movement_new.php) */

/* grid principal do form */
.mn-form-grid-3,
.rq-grid-3{

  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  align-items:end;
}/* linha cheia (ex: observações) */
.mn-form-grid-full{
  grid-column: 1 / -1;
  margin-top: 14px;
}/* responsivo */
@media (max-width: 1100px){

}@media (max-width: 700px){

}/* segurança de largura */

/* ações do form (padrão sistema) */
.mn-form-actions{
  margin-top: 14px;
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}/* Observações ocupando 2 colunas (col 2-3), ao lado da diária */
.mn-notes-span-2{
  grid-column: span 2;
}/* Observações ocupa 100% da largura do grid */
/* 15.4) REGISTRAR DEVOLUÇÃO (movement_return.php) */

.mr-form-line-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: end;
}@media (max-width: 900px){
  .mr-form-line-2,
.mc-form-line-2 { grid-template-columns: 1fr; }
}

/* ações (botão Confirmar) com respiro após o grid */
.mr-actions,
.maint-table-overdue,
.mdd-table{

  margin-top: 12px;
}/* 15.5) CANCELAR MOVIMENTAÇÃO (movement_cancel.php) */

.mc-topbar-title,
.maint-topbar-title,
.mp-topbar-title,
.mdd-topbar-title,
.mo-topbar-title,
.rep-topbar-title,
.set-topbar-title,
.pr-topbar-title,
.aut-topbar-title,
.aut-modal-title,
.ar-topbar-title,
.not-topbar-title,
.not-title,
.re-topbar-title,
.rq-topbar-title,
.rr-topbar-title{

  font-weight: 900;
}/* grid 2 colunas */
.mc-form-line-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: end;
}@media (max-width: 900px){

}.mc-form-line-2 .input{
  width: 100%;
}/* ações com espaçamento (corrige botão colado) */
.mc-form-actions{
  margin-top: 14px;
  display: flex;
  justify-content: flex-start;
}/* 16) MAINTENANCE (maintenance.php) */

.maint-card-link,
.rep-card-link,
.set-card-link{

  display:block;
  padding:18px;
  border-radius:18px;
  background: rgba(214,216,220,0.12);
  border: 1px solid rgba(255,255,255,0.08);
  text-decoration:none;
}.maint-card-link h3{ margin:0; color: #e2e8f0; font-weight: 900; }.maint-card-link p{ margin: 6px 0 0; color: #cbd5e1; font-size: 13px; }/* MAINTENANCE: Cards do topo (Abrir / Em Andamento / Histórico) */
body.page-mode.theme-light .maint-card-link,
body.page-mode.theme-light .rep-card-link,
body.page-mode.theme-light .set-card-link,
body.page-mode.theme-light .maint-card-link {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}body.page-mode.theme-light .maint-card-link h3,
body.page-mode.theme-light .rep-card-link h3,
body.page-mode.theme-light .gi-kpi-val,
body.page-mode.theme-light .rep-card-link h3,
body.page-mode.theme-light .set-card-link h3,
body.page-mode.theme-light .gi-dash-title,
body.page-mode.theme-light .gi-kpi-title,
body.page-mode.theme-light .gi-kpi-big,
body.page-mode.theme-light .gi-kpi-val { color: #0f172a !important; }body.page-mode.theme-light .maint-card-link p,
body.page-mode.theme-light .rep-card-link p,
body.page-mode.theme-light .set-card-link p,
body.page-mode.theme-light .set-muted,
body.page-mode.theme-light .rep-card-link p,
body.page-mode.theme-light .set-card-link p,
body.page-mode.theme-light .set-muted {
  color: #334155 !important;
  opacity: 1 !important;
}.maint-due-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}.maint-due-head-left{
  display:flex;
  align-items:baseline;
  gap:8px;
  white-space:nowrap;
}.maint-title-compact,
.su-table-title,
body.page-automations-logs .gi-table-head .block-title,
.su-table-title,
.gi-m0,
body.page-automations-logs .gi-table-head .block-title { margin:0; }.maint-badge{
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  color:#e2e8f0;
  white-space:nowrap;
}.maint-flag-open,
.mdd-flag-open{

  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color:#fbbf24;
  margin-left:6px;
  white-space:nowrap;
}.maint-muted-small,
.mdd-muted-small{

  color:#cbd5e1;
  opacity:.9;
  font-size:13px;
  padding:8px 0 2px;
}/* SECTION */
.maint-due-card{
  padding:16px;
  border-radius:18px;
  background: rgba(214,216,220,0.12);
  border: 1px solid rgba(255,255,255,0.08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}.maint-due-card:hover{ transform: translateY(-1px); }.maint-due-title{
  font-weight: 900;
  color: #e2e8f0;
}/* Botão "Detalhes" compacto */
.maint-details-btn{
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  height: auto;
  white-space: nowrap;
  text-decoration: none;
}/* 90 dias -> verde */
.maint-due-card.maint-due-has-90{
  border-color: rgba(16, 185, 129, 0.55);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.10), 0 10px 30px rgba(0,0,0,0.25);
  background: linear-gradient(180deg, rgba(16,185,129,0.10), rgba(214,216,220,0.10));
}.maint-due-card.maint-due-has-90 .maint-badge{
  border-color: rgba(16, 185, 129, 0.45);
  background: rgba(16, 185, 129, 0.14);
  color:#d1fae5;
}.maint-due-card.maint-due-has-90 .maint-muted-small{
  color:#d1fae5;
  opacity:.95;
}/* 60 dias -> amarelo */
.maint-due-card.maint-due-has-60{
  border-color: rgba(245, 158, 11, 0.55);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.10), 0 10px 30px rgba(0,0,0,0.25);
  background: linear-gradient(180deg, rgba(245,158,11,0.10), rgba(214,216,220,0.10));
}.maint-due-card.maint-due-has-60 .maint-badge{
  border-color: rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.14);
  color:#fffbeb;
}.maint-due-card.maint-due-has-60 .maint-muted-small{
  color:#fffbeb;
  opacity:.95;
}/* 30 dias -> laranja */
.maint-due-card.maint-due-has-30{
  border-color: rgba(249, 115, 22, 0.60);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.10), 0 10px 30px rgba(0,0,0,0.25);
  background: linear-gradient(180deg, rgba(249,115,22,0.10), rgba(214,216,220,0.10));
}.maint-due-card.maint-due-has-30 .maint-badge{
  border-color: rgba(249, 115, 22, 0.45);
  background: rgba(249, 115, 22, 0.14);
  color:#fff7ed;
}.maint-due-card.maint-due-has-30 .maint-muted-small{
  color:#fff7ed;
  opacity:.95;
}/* SECTION */
.maint-overdue-block{
  border: 1px solid rgba(239,68,68,0.55);
  background: linear-gradient(180deg, rgba(239,68,68,0.12), rgba(214,216,220,0.10));
  box-shadow: 0 0 0 3px rgba(239,68,68,0.12), 0 10px 30px rgba(0,0,0,0.25);
}.maint-overdue-block .maint-badge{
  border-color: rgba(239,68,68,0.45);
  background: rgba(239,68,68,0.20);
  color:#fee2e2;
}/* Tabela vencidas */
.maint-table-overdue tbody tr{ background: rgba(239,68,68,0.07); }.maint-table-overdue tbody tr:hover{ background: rgba(239,68,68,0.12); }.maint-table-overdue th,
.maint-table-overdue td{
  text-align: center;
  vertical-align: middle;
}/* Responsivo */
@media (max-width: 1100px){
  .maint-cards, .maint-due-grid,
.rep-cards { grid-template-columns: 1fr; }
}/* Tema claro (page-mode + theme-light) */
body.page-mode.theme-light .maint-due-card{
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,0.06) !important;
}body.page-mode.theme-light .maint-badge{
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}body.page-mode.theme-light .maint-muted-small{
  color:#334155 !important;
  opacity: 1 !important;
}body.page-mode.theme-light .maint-due-title{
  color:#0f172a !important;
  font-weight: 900 !important;
}body.page-mode.theme-light .maint-due-card.maint-due-has-90{
  border-color: rgba(16,185,129,0.55) !important;
  background: linear-gradient(180deg, rgba(16,185,129,0.18), #ffffff 70%) !important;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.10), 0 14px 30px rgba(15,23,42,0.10) !important;
}body.page-mode.theme-light .maint-due-card.maint-due-has-60{
  border-color: rgba(245,158,11,0.60) !important;
  background: linear-gradient(180deg, rgba(245,158,11,0.20), #ffffff 70%) !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,0.10), 0 14px 30px rgba(15,23,42,0.10) !important;
}body.page-mode.theme-light .maint-due-card.maint-due-has-30{
  border-color: rgba(249,115,22,0.62) !important;
  background: linear-gradient(180deg, rgba(249,115,22,0.20), #ffffff 70%) !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,0.10), 0 14px 30px rgba(15,23,42,0.10) !important;
}body.page-mode.theme-light .maint-due-card.maint-due-has-90 .maint-badge{
  background: rgba(16,185,129,0.14) !important;
  border-color: rgba(16,185,129,0.35) !important;
  color:#064e3b !important;
}body.page-mode.theme-light .maint-due-card.maint-due-has-60 .maint-badge{
  background: rgba(245,158,11,0.16) !important;
  border-color: rgba(245,158,11,0.35) !important;
  color:#78350f !important;
}body.page-mode.theme-light .maint-due-card.maint-due-has-30 .maint-badge{
  background: rgba(249,115,22,0.16) !important;
  border-color: rgba(249,115,22,0.35) !important;
  color:#7c2d12 !important;
}body.page-mode.theme-light .block.maint-overdue-block{
  border-color: rgba(239,68,68,0.55) !important;
  background: linear-gradient(180deg, rgba(239,68,68,0.16), #ffffff 72%) !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.12), 0 16px 34px rgba(15,23,42,0.12) !important;
}body.page-mode.theme-light .block.maint-overdue-block .block-title{
  color:#7f1d1d !important;
}body.page-mode.theme-light .block.maint-overdue-block .maint-badge{
  background: rgba(239,68,68,0.16) !important;
  border-color: rgba(239,68,68,0.30) !important;
  color:#7f1d1d !important;
  font-weight: 900 !important;
}body.page-mode.theme-light .table.maint-table-overdue thead th{
  background: #f1f5f9 !important;
  color:#0f172a !important;
  font-weight: 900 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}body.page-mode.theme-light .maint-table-overdue tbody td{
  color:#0f172a !important;
  border-top: 1px solid rgba(239,68,68,0.14) !important;
  background: rgba(239,68,68,0.05) !important;
}body.page-mode.theme-light .maint-table-overdue tbody tr:nth-child(even) td{
  background: rgba(239,68,68,0.08) !important;
}body.page-mode.theme-light .maint-table-overdue tbody tr:hover td{
  background: rgba(239,68,68,0.14) !important;
  border-top-color: rgba(239,68,68,0.26) !important;
}body.page-mode.theme-light .maint-flag-open{
  background: rgba(245,158,11,0.18) !important;
  border-color: rgba(245,158,11,0.35) !important;
  color:#7c2d12 !important;
}/* 16.1) MAINTENANCE PROGRESS (maintenance_progress.php) */

/* tabela centralizada somente nesta página */
.mp-table th,
.mp-table td,
.mdd-table th,
.mdd-table td {
  text-align: center;
  vertical-align: middle !important;
}/* ações (inline) */
.mp-actions-inline{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}

/* pills (status) */
.mp-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color:#f8fafc;
  white-space:nowrap;
  letter-spacing:.2px;
  box-shadow: 0 0 18px rgba(0,0,0,0.10);
}.mp-pill::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background: rgba(255,255,255,0.35);
  box-shadow: 0 0 10px rgba(255,255,255,0.12);
}.mp-pill-open{
  background: rgba(217,119,6,0.16);
  border-color: rgba(217,119,6,0.40);
  color:#fff7ed;
}.mp-pill-open::before{
  background: rgba(245,158,11,0.95);
  box-shadow: 0 0 12px rgba(245,158,11,0.22);
}.mp-pill-progress{
  background: rgba(37,99,235,0.16);
  border-color: rgba(37,99,235,0.40);
  color:#eff6ff;
}.mp-pill-progress::before{
  background: rgba(59,130,246,0.95);
  box-shadow: 0 0 12px rgba(59,130,246,0.22);
}body.theme-light .mp-pill{
  color:#0f172a;
  border-color: rgba(2,6,23,0.14);
  background: rgba(2,6,23,0.03);
  box-shadow:none;
}.mp-muted-note{
  color:#cbd5e1;
  opacity:.9;
  font-size:12px;
  margin-top:8px;
  text-align:center;
}body.theme-light .mp-muted-note{ color:#334155; opacity:1; }/* modal */
.mp-modal-backdrop{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,0.55);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index: 9999;
}.mp-modal{
  width: min(720px, 100%);
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(15,23,42,0.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
  overflow:hidden;
}/* FIX — Modal (tema escuro) */
.mp-modal{
  color: #e2e8f0; /* texto sempre legível no modal escuro */
}.mp-modal .input,
.mp-modal select,
.mp-modal textarea{
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color: #e2e8f0;
}.mp-modal .input::placeholder,
.mp-modal textarea::placeholder{
  color: rgba(226,232,240,0.65);
  opacity: 1;
}.mp-modal .input:focus,
.mp-modal select:focus,
.mp-modal textarea:focus{
  outline: none;
  border-color: rgba(52,211,153,0.55);
  box-shadow: 0 0 0 3px rgba(52,211,153,0.18);
  background: rgba(255,255,255,0.12);
}.mp-modal .input[disabled]{
  background: rgba(255,255,255,0.06);
  color: rgba(226,232,240,0.75);
}body.theme-light .mp-modal{
  background: rgba(255,255,255,0.92);
  border-color: rgba(2,6,23,0.10);
}.mp-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  font-weight:900;
}.mp-modal-body{ padding:16px; }.mp-modal-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  padding:14px 16px;
  border-top:1px solid rgba(255,255,255,0.08);
}.mp-close-x{
  background: transparent;
  border:0;
  color:#e2e8f0;
  font-size:18px;
  cursor:pointer;
  padding:6px 10px;
  border-radius:10px;
}.mp-close-x:hover{ background: rgba(255,255,255,0.08); }body.theme-light .mp-close-x{
  color:#0f172a;
}/* grid do formulário no modal */
.mp-form-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}@media (max-width: 720px){
  .mp-form-grid-2{ grid-template-columns:1fr; }
}

.mp-textarea{
  min-height: 110px;
  resize: vertical;
}.mp-mini{
  opacity:.85;
  font-size:12px;
  margin-top:6px;
  color:#cbd5e1;
}body.theme-light .mp-mini{ color:#334155; }.mp-filebox{
  padding:12px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,0.20);
  background: rgba(255,255,255,0.06);
}body.theme-light .mp-filebox{
  border-color: rgba(2,6,23,0.22);
  background: rgba(2,6,23,0.03);
}/* FIX — Modal de edição (tema claro) */

body.page-mode.theme-light .mp-modal .input,
body.page-mode.theme-light .mp-modal select,
body.page-mode.theme-light .mp-modal textarea{
  background: #f8fafc !important;          /* cinza claro visível */
  border: 1px solid #cbd5e1 !important;    /* borda nítida */
  color: #0f172a !important;               /* texto escuro */
}/* placeholder legível */
body.page-mode.theme-light .mp-modal .input::placeholder,
body.page-mode.theme-light .mp-modal textarea::placeholder{
  color:#64748b !important;
  opacity:1 !important;
}/* foco */
body.page-mode.theme-light .mp-modal .input:focus,
body.page-mode.theme-light .mp-modal select:focus,
body.page-mode.theme-light .mp-modal textarea:focus{
  outline:none;
  border-color:#3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.15) !important;
  background:#ffffff !important;
}/* campos somente visualização (disabled) */
body.page-mode.theme-light .mp-modal .input[disabled]{
  background:#eef2f7 !important;
  color:#475569 !important;
  cursor:not-allowed;
}/* 16.2) MAINTENANCE • DUE DETAILS (maintenance_due_details.php) */

/* cabeçalho do bloco */

/* título do bloco sem inline */
.mdd-title{
  margin: 0;
}/* texto auxiliar (meta) */
body.theme-light .mdd-muted-small{
  color:#334155;
  opacity:1;
}/* tabela centralizada somente nesta tela */
/* pequeno respiro acima da tabela (tira inline) */

/* flag “Em aberto” */

body.theme-light .mdd-flag-open{
  background: rgba(245,158,11,0.18);
  border-color: rgba(245,158,11,0.35);
  color:#7c2d12;
}/* 16.3) MAINTENANCE • OPEN (maintenance_open.php) */

/* grid do formulário (4 colunas) */
.mo-grid,
.re-grid-4,
.rr-grid-4{

  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
  align-items:end;
}/* Observações ao lado do Status (coluna 2 até o final) */
.mo-obs-wrap{
  grid-column: 2 / -1;
}/* Observações com a mesma “pegada” de altura dos inputs */
.mo-obs-one{
  height: 44px;       /* acompanha o padrão visual do sistema */
  line-height: 44px;
}/* responsivo */
@media (max-width: 1100px){

  .mo-obs-wrap{ grid-column: 1 / -1; }
}@media (max-width: 700px){

  .mo-obs-wrap{ grid-column: auto; }
}/* ações do formulário */
.mo-form-actions{
  margin-top: 14px;
  display:flex;
  justify-content:flex-start;
}/* (opcional) linha de dica/ajuda abaixo do form */
.mo-hint-line{
  font-size:12px;
  margin-top:8px;
  color:#cbd5e1;
  opacity:.95;
}body.theme-light .mo-hint-line{
  color:#334155;
  opacity:1;
  font-weight:600;
}/* 17) REPORTS (reports.php) */

.rep-card-link h3,
.set-card-link h3 {
  margin:0;
  color:#e2e8f0;
  font-weight:900;
}.rep-card-link p,
.set-card-link p,
.set-card-link p {
  margin:6px 0 0;
  color:#cbd5e1;
  font-size:13px;
}/* Responsivo */
@media (max-width: 1100px){

}/* Tema claro (page-mode + theme-light) */

/* (consolidado — mesmo ajuste para reports/settings/maintenance cards) */

/* 18) SETTINGS (settings.php) */

/* Responsivo */
@media (max-width: 980px){
  .set-cards,
.iu-form-grid { grid-template-columns: 1fr 1fr; }
}@media (max-width: 640px){
  .set-cards{ grid-template-columns: 1fr; }
}

.set-muted{
  color:#cbd5e1;
  font-size:13px;
  opacity:.9;
  margin-top:10px;
}/* Tema claro do settings */

/* 18.1) SETTINGS • USUÁRIOS — INVITE USER (invite_user.php) */

/* Grid do formulário */
.iu-form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px 14px;

  /* ESSENCIAL: alinha tudo pela base (mesma “linha” visual) */
  align-items: end;
}@media (max-width: 980px){

}@media (max-width: 760px){
  .iu-form-grid{ grid-template-columns: 1fr; }
}/* Coluna do botão (3ª coluna no desktop) */
.iu-under-email{
  grid-column: 3;
  align-self: end; /* garante que encoste na base da linha */
}@media (max-width: 980px){
  .iu-under-email{ grid-column: auto; }
}/* Wrapper do "campo botão" (label em cima, botão embaixo) */
.iu-form-actions{
  display:flex;
  flex-direction: column;   /* <<< ESSENCIAL */
  align-items: stretch;     /* botão ocupa 100% */
}/* label “fantasma” para alinhar com os outros labels */
.iu-label-spacer{
  visibility: hidden;
  margin-bottom: 8px;
  height: 18px;             /* <<< estabiliza a altura do label */
  display:block;
}/* Botão com altura idêntica ao input/select */
.iu-btn-field{
  width:100%;
  height: var(--input-h);
  min-height: var(--input-h);

  padding: 0 14px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  margin: 0 !important;
}/* OVERRIDE FINAL — invite_user.php (botão alinhado e com altura correta) */

body.page-mode .iu-form-grid{
  align-items: end !important; /* base alinhada */
}body.page-mode .iu-form-grid .iu-under-email{
  align-self: end !important; /* cola na base da coluna */
}/* O wrapper do botão PRECISA ser coluna (label em cima, botão embaixo) */
body.page-mode .iu-form-grid .iu-form-actions{
  display:flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}/* label fantasma ocupa o MESMO espaço do label real */
body.page-mode .iu-form-grid .iu-label-spacer{
  visibility: hidden !important;
  display:block !important;
  height: 18px !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}/* botão com altura idêntica ao input */
body.page-mode .iu-form-grid .btn.iu-btn-field{
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  width: 100% !important;
  margin: 0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}/* Invite User — botões de ação lado a lado e responsivos */
.iu-actions-row{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center; /* opcional */
  flex-wrap: wrap;        /* responsivo: quebra no mobile */
}/* faz os forms virarem "inline-flex" (não quebram a linha) */
.iu-actions-row form{
  display:inline-flex;
  margin:0;
}/* opcional: garante que os botões não estiquem nem quebrem o texto */
/* 18.2) SETTINGS • PROFILE (profile.php) */

.pr-muted{
  color:#cbd5e1;
  font-size:13px;
  opacity:.9;
  margin-top:6px;
}.pr-grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}@media (max-width: 900px){
  .pr-grid2{ grid-template-columns:1fr; }
}/* espaçamentos utilitários locais (sem mexer no global) */
.pr-mt-12,
.pr-form,
.su-form-top,
.gi-mt-12{
 margin-top:12px;
}.pr-mt-10{ margin-top:10px; }.pr-mt-8{ margin-top:8px; }.pr-mt-4{ margin-top:4px; }/* box/card */
.pr-box{
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
}/* destaque do valor */

/* linha do checkbox */
.pr-chkrow,
.aut-payload-row{

  display:flex;
  gap:10px;
  align-items:center;
}.pr-chklabel{ font-weight:800; }/* pills (status) */
.pr-pill{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}.pr-pill-pending,
.not-pill-info,
.not-pill-warning{
 background:#334155; color:#e2e8f0;
}.pr-pill-approved,
.not-pill-success{
 background:#064e3b; color:#d1fae5;
}.pr-pill-rejected,
.not-pill-danger{
 background:#7f1d1d; color:#fee2e2;
}/* ações do form */
.pr-actions{
  margin-top:20px;
  display:flex;
  justify-content:flex-start;
}/* 18.3) SETTINGS • EMPRESA (settings_company.php) */

.sc-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: end;
}

@media (max-width: 1100px){

}@media (max-width: 700px){

}/* 18.4) SETTINGS • USUÁRIOS (settings_users.php) */

.su-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: end;
}@media (max-width: 1100px){

}@media (max-width: 700px){

}/* botão secundário apenas para esta página */
.su-btn-secondary{
  background: #2f3542;
  color: #e5e7eb;
  border: 1px solid #3f4656;
  font-size: inherit;
}.su-btn-secondary:hover{
  background: #3a4050;
  color: #ffffff;
}/* espaçamento padrão do form (evita inline) */

/* header da tabela "Usuários cadastrados" */
.su-table-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* 18.5) SETTINGS • LOGS DO SISTEMA (system_logs.php) */

/* Topbar “limpa” (substitui inline style) */
.gi-topbar-plain{
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: 12px;
}

/* (opcional) se quiser reduzir espaçamento do bloco de resultados */
.gi-results-head{
  margin-top: 10px;
}

/* 19) AUTOMATIONS (automations.php) */

/* 19.1) Grid de módulos */

.aut-modules-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 12px;
}@media (max-width: 1100px){
  .aut-modules-grid{ grid-template-columns: repeat(2, 1fr); }
}@media (max-width: 720px){
  .aut-modules-grid{ grid-template-columns: 1fr; }
}.aut-module-card{
  display:flex;
  align-items:flex-start;
  gap:12px;

  padding: 16px;
  border-radius: 18px;

  background: var(--block-bg);
  border: 1px solid var(--block-border);

  text-decoration:none;
  color: var(--text-on-dark);
  transition: all .2s ease;
}.aut-module-card:hover{
  transform: translateY(-1px);
  background: rgba(52,211,153,0.12);
  border-color: rgba(52,211,153,0.35);
}body.theme-light .aut-module-card{
  color: var(--text-default);
}.aut-module-ico{
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 12px;

  display:flex;
  align-items:center;
  justify-content:center;

  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);

  font-size: 16px;
  line-height: 1;
}body.theme-light .aut-module-ico{
  background: rgba(15,23,42,0.04);
  border-color: rgba(15,23,42,0.12);
}.aut-module-text strong{
  display:block;
  font-weight: 900;
  margin-bottom: 2px;
}.aut-module-text span{
  display:block;
  font-size: 13px;
  color: var(--text-on-dark-muted);
  line-height: 1.3;
}body.theme-light .aut-module-text span,
body.theme-light .aut-muted,
body.theme-light .aut-muted {
  color:#475569;
}/* 19.2) Automações • Integrações (automations_integrations.php) */

/* Grid do formulário (3 colunas) — usa .gi-form-grid-3 global (13.3) */

/* Helpers */
/* Texto auxiliar */

/* Ações do formulário (alinhadas à esquerda) */
.gi-actions-row,
.ar-actions-row {
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap: wrap;
  margin-top: 14px;
}/* Cabeçalho da tabela */

/* Grid de filtros (estrutura padrão 5 colunas) */
.gi-filters-5{
  grid-template-columns: .6fr 2fr 1.2fr 2fr 1fr;
}@media (max-width: 1100px){

}@media (max-width: 700px){

}/* Ações dos filtros */
/* Botão "soft" para links tipo Limpar (mantém seu padrão) */

/* Status pill */
.gi-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  line-height:1;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color:#e2e8f0;
  min-width: 74px;
}.gi-status-pill.off{ opacity:.85; filter:saturate(.8); }body.theme-light .gi-status-pill,
body.theme-light .aut-pill,
body.theme-light .aut-pill {
  border-color: rgba(15,23,42,.18);
  background: rgba(15,23,42,.06);
  color:#0b1220;
}/* Coluna de ação */
th.gi-col-action,
td.gi-col-action{
  max-width:420px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}/* Linha vazia (nenhum resultado) */
.gi-empty-row,
.ee-empty-row,
.ar-empty-row,
body.page-automations-logs .gi-empty-row{
  text-align:center;
  padding:16px;
  opacity:.8;
}/* Checkbox "Ativa" maior */
.gi-active-wrap{
  display:flex;
  gap:10px;
  align-items:center;
  padding-top: 26px;
}.gi-active-wrap label{
  display:flex;
  gap:10px;
  align-items:center;
  font-weight: 900;
  font-size: 15px;
  opacity: .98;
}.gi-active-wrap input[type="checkbox"]{
  width: 20px;
  height: 20px;
  accent-color: #34d399;
  cursor:pointer;
}body.theme-light .gi-active-wrap input[type="checkbox"],
body.theme-light .ar-active-label input[type="checkbox"],
body.theme-light .ar-active-label input[type="checkbox"] {
  accent-color: #0ea5e9;
}/* 19.2.1) Automações • Configurações (automations_settings.php) */

/* Ellipsis 320 (usado em Setting Value e Descrição) */
.gi-ellipsis-320{
  max-width:320px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}/* Centralização geral de tabela (thead + tbody) */
.table.gi-table-vmid th,
.table.gi-table-vmid td,
body.page-automations-logs table.gi-logs-table thead th,
body.page-automations-logs table.gi-logs-table tbody td {
  text-align:center !important;
  vertical-align: middle !important;
}/* 19.3) Bloco de teste (disparo manual) */

.aut-test-title{
  display:flex;
  align-items:center;
  gap:10px;
}.aut-muted,
.ar-muted{

  color: var(--text-on-dark-muted);
  font-size: 13px;
  opacity: .95;
  margin-top: 6px;
  line-height: 1.35;
}
/* 3 colunas estáveis e alinhadas no topo */
.aut-form-grid-3{
  display:grid;
  grid-template-columns: minmax(320px, 1.2fr) minmax(260px, 0.9fr) minmax(360px, 1.4fr);
  gap: 14px;
  align-items: start;
  margin-top: 12px;
}/* garante que nada estoura a coluna */
.aut-form-grid-3 .form-group,
.aut-form-grid-3 .input,
.aut-form-grid-3 textarea{
  min-width: 0;
  width: 100%;
}/* Responsivo: abaixo de 980px vira 1 coluna */
@media (max-width: 980px){
  .aut-form-grid-3{ grid-template-columns: 1fr; }
}.aut-actions-row{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap: wrap;
  margin-top: 12px;
}.aut-hint{
  margin-top: 10px;
  font-size: 12px;
  opacity: .9;
  color: var(--text-on-dark-muted);
}body.theme-light .aut-hint{ color:#64748b; }/* tag “n8n webhook” */
.aut-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  font-weight:900;
  font-size:11px;
  line-height:1;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color:#e2e8f0;
}
/* 19.4) Payload compacto + Modal (igual logs) */

.aut-payload-row .input{
  flex: 1 1 auto;
  min-width: 0;
}/* textarea real escondido (fonte do JSON) */
.aut-payload-hidden{
  position:absolute;
  left:-99999px;
  top:auto;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}/* Modal do payload */
.aut-modal-backdrop{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index: 9999;
  padding: 18px;

  /* fundo atrás do modal: menos escuro + leve blur */
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(2px);
}.aut-modal{
  width:min(980px, 100%);
  border-radius: 18px;
  overflow:hidden;

  /* modal mais sólido e destacado */
  background: rgba(15,23,42,.95);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
}.aut-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--block-border);
}.aut-modal-body{ padding: 14px 16px; }.aut-modal-pre{
  margin:0;
  padding: 14px;
  border-radius: 14px;
  max-height: 65vh;
  overflow:auto;

  /* conteúdo do JSON: aumenta contraste */
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.10);
  color: #e2e8f0;
  opacity: 1;

  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  line-height: 1.45;
}/* tema claro: modal branco sólido */
body.theme-light .aut-modal{
  background: #ffffff;
  border-color: rgba(15,23,42,.14);
}body.theme-light .aut-modal-pre{
  background: rgba(15,23,42,.05);
  border-color: rgba(15,23,42,.10);
  color: #0f172a;
}/* 19.5) AUTOMATIONS RULES (regras) — tela de regras */

body.theme-light .ar-muted,
body.theme-light .not-muted { color:#475569; opacity:1; }/* grid do formulário (3 colunas) */
.ar-form-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  align-items: end;
  margin-top: 12px;
}@media (max-width: 1100px){

}@media (max-width: 700px){

}/* segurança de largura */

/* linha cheia */
/* bloco dos textareas abaixo com respiro */

.ar-textarea,
body.page-automations-scheduler .as-textarea {
  min-height: 92px;
  resize: vertical;
  line-height: 1.35;
  padding-top: 10px;
  padding-bottom: 10px;
}/* checkbox “Ativa” */
.ar-active-wrap{ padding-top: 26px; }.ar-active-label{
  display:flex;
  gap:10px;
  align-items:center;
  font-weight: 900;
  font-size: 15px;
  opacity: .98;
  margin: 0;
}.ar-active-label input[type="checkbox"]{
  width: 20px;
  height: 20px;
  cursor:pointer;
  accent-color: #34d399;
}
/* ações do form */
/* meta da listagem */

/* filtros desta tela (6 colunas) */
.table-filters-grid.ar-table-filters{
  grid-template-columns: .6fr 2fr 1.6fr 1.4fr 1.6fr 1fr;
}/* Responsivo: não duplicar regras globais, mas garantir que a grade específica não estoure */
@media (max-width: 1100px){
  .table-filters-grid.ar-table-filters{ grid-template-columns: 1fr 1fr !important; }
}@media (max-width: 700px){
  .table-filters-grid.ar-table-filters{ grid-template-columns: 1fr !important; }
}/* tabela: ajustes pontuais */
/* centralizações pontuais */
.ar-td-center{ text-align:center !important; }/* target truncado */
.ar-target-cell{
  max-width: 260px;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}/* payload sem fundo/sem caixa */
.ar-payload-pre{
  margin:0;
  display:inline-block;
  text-align:left;
  max-width:520px;
  max-height:140px;
  overflow:auto;

  padding:0;
  border:none;
  background:transparent;

  font-size:12px;
  line-height:1.25;
  white-space:pre-wrap;
  word-break:break-word;
}/* linha vazia — alias do .gi-empty-row (v6.3) */
/* 19.6) GestãoInteligente — Automações • Logs (automations_logs.php) */

body.page-automations-logs .gi-table-head{
  display:flex;
  align-items:center;
  justify-content:space-between; /* título à esquerda e contador à direita */
  gap:10px;
  flex-wrap:wrap;
  text-align:left;
  flex-direction:row;
}

body.page-automations-logs .gi-table-count{
  opacity:.85;
  font-weight:800;
  font-size:13px;
}/* SECTION */
body.page-automations-logs .gi-filters-grid{
  margin-top: 12px;
  display:grid;
  gap:10px;
  align-items:end;

  /* equivalente ao inline anterior */
  grid-template-columns: .6fr 1.4fr 1fr 1.7fr 1fr 1fr 1fr;
}@media (max-width: 1100px){

}@media (max-width: 700px){

}body.page-automations-logs
/* Botões do filtro: mesma fonte + sem sublinhado */
body.page-automations-logs .gi-filters-actions .btn,
body.page-automations-logs .gi-filters-actions .btn:link,
body.page-automations-logs .gi-filters-actions .btn:visited,
body.page-automations-logs .gi-filters-actions .btn:hover,
body.page-automations-logs .gi-filters-actions .btn:active{
  font-size:13px !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap;
}/* estilo padrão do <a class="btn"> dentro do filtro */

/* SECTION */
body.page-automations-logs .gi-nowrap-ellip{
  text-align:left !important;
  max-width: 320px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}/* coluna ações */
body.page-automations-logs .gi-col-action{
  text-align:center !important;
  vertical-align: middle !important;
  width: 160px;
  white-space: nowrap;
}/* linha vazia — alias do .gi-empty-row (v6.3) */
/* SECTION */
body.page-automations-logs .gi-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  font-weight: 1000;
  font-size:12px;
  line-height:1;
  min-width: 82px;
  white-space:nowrap;
  color:#fff;
  border: 1px solid rgba(255,255,255,.22);
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
}body.page-automations-logs .gi-pill.ok{
  background: rgba(16,185,129,.92);
  border-color: rgba(16,185,129,.95);
  box-shadow: 0 10px 28px rgba(16,185,129,.20), 0 0 0 3px rgba(16,185,129,.14);
}body.page-automations-logs .gi-pill.warn{
  background: rgba(245,158,11,.92);
  border-color: rgba(245,158,11,.95);
  box-shadow: 0 10px 28px rgba(245,158,11,.20), 0 0 0 3px rgba(245,158,11,.14);
}body.page-automations-logs .gi-pill.err{
  background: rgba(239,68,68,.92);
  border-color: rgba(239,68,68,.95);
  box-shadow: 0 10px 28px rgba(239,68,68,.20), 0 0 0 3px rgba(239,68,68,.14);
}body.theme-light.page-automations-logs .gi-pill{
  color:#0b1220;
  text-shadow:none;
  border-color: rgba(15,23,42,.18);
  box-shadow:none;
  font-weight: 900;
}body.theme-light.page-automations-logs .gi-pill.ok{ background: rgba(16,185,129,.25); border-color: rgba(16,185,129,.45); }body.theme-light.page-automations-logs .gi-pill.warn{ background: rgba(245,158,11,.25); border-color: rgba(245,158,11,.45); }body.theme-light.page-automations-logs .gi-pill.err{ background: rgba(239,68,68,.22); border-color: rgba(239,68,68,.42); }/* SECTION */
body.page-automations-logs .gi-modal-backdrop{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 16px;
  z-index: 9999;
}body.page-automations-logs .gi-modal{
  width: min(980px, 96vw);
  max-height: 86vh;
  overflow: hidden;
  border-radius: 16px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  background: rgba(2,6,23,.94);
}body.theme-light.page-automations-logs .gi-modal{
  background: #ffffff;
  border-color: rgba(15,23,42,.14);
  box-shadow: 0 20px 70px rgba(2,6,23,.18);
}body.page-automations-logs .gi-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 12px;
}body.page-automations-logs .gi-modal-title{
  font-weight: 900;
  font-size: 14px;
  opacity: .95;
}body.page-automations-logs .gi-pre{
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 12px;
  padding: 14px;

  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.55;

  white-space: pre-wrap;
  word-break: break-word;

  color: #f8fafc;

  max-height: calc(86vh - 90px);
  overflow: auto;
}body.theme-light.page-automations-logs .gi-pre{
  background: rgba(15,23,42,0.04);
  border-color: rgba(15,23,42,0.10);
  color: #0b1220;
}/* 19.7) GestãoInteligente — Automações • Notificações (automations_notifications.php) */

/* Grid de filtros desta tela (6 colunas) */
body.page-automations-notifications .gi-filters-6{
  grid-template-columns: .6fr 2fr 1.2fr 1.6fr 1.6fr 1fr;
}@media (max-width: 1100px){
  body.page-automations-notifications .gi-filters-6{
    grid-template-columns: 1fr 1fr !important;
  }
}@media (max-width: 700px){
  body.page-automations-notifications .gi-filters-6{
    grid-template-columns: 1fr !important;
  }
}/* Ellipsis específicos desta tela */
body.page-automations-notifications .gi-ellipsis-280{
  max-width: 280px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}body.page-automations-notifications .gi-ellipsis-260{
  max-width: 260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}/* 19.8) AUTOMATIONS SCHEDULER (automations_scheduler.php) */

/* textarea padrão do payload */
/* ellipsis para colunas longas */
body.page-automations-scheduler .as-nowrap-ellip{
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}/* tabela centralizada nesta tela */
body.page-automations-scheduler table.as-table thead th,
body.page-automations-scheduler table.as-table tbody td{
  text-align: center !important;
  vertical-align: middle !important;
}/* grid de filtros desta tela (6 colunas) */
body.page-automations-scheduler .as-filters-6{
  grid-template-columns: .6fr 2fr 1.4fr 1.4fr 1.6fr 1fr;
}@media (max-width: 1100px){

}@media (max-width: 700px){

}/* status pill (Ativa / Inativa) — theme-aware */
body.page-automations-scheduler .gi-status-pill.on{
  background: rgba(16,185,129,0.18);
  border: 1px solid rgba(16,185,129,0.55);
  color: #d1fae5;
}body.page-automations-scheduler .gi-status-pill.off{
  background: rgba(239,68,68,0.18);
  border: 1px solid rgba(239,68,68,0.55);
  color: #fee2e2;
}

/* =========================================================
   19.x — Automações: utilitários de REF (integration:ID / notification:ID)
   ========================================================= */

.gi-ref-row{
  display:flex;
  gap:10px;
  align-items:center;
}

.gi-ref-row .input{
  flex:1;
  min-width: 220px;
}

.gi-ref-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

.gi-ref-pill code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
}

.gi-copy-mini{
  border: 0;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  color: inherit;
  line-height: 1;
}

.gi-copy-mini:hover{
  background: rgba(255,255,255,.12);
}

/* Ajuste leve: botões pequenos em linha com input */
.gi-ref-row .btn.btn-small{
  white-space: nowrap;
  height: 42px; /* se seu .input padrão tiver outra altura, troque aqui */
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.gi-colspan-2{ grid-column: span 2; }


/* =========================================================
   19.x — AUTOMAÇÕES • OUTBOX (Filtros em 2 colunas)
========================================================= */





/* Força os filtros em 2 colunas */
.ob-filters-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* Em telas menores, volta para 1 coluna */
@media (max-width: 860px){
  .ob-filters-grid{ grid-template-columns: 1fr; }
}

/* Dá respiro no botão aplicar filtros */
.ob-filters-actions{
  margin-top: 12px;
}



/* 20) NOTIFICATIONS (notifications.php) */

.not-topbar-meta{ opacity:.75; font-weight:800; }.not-muted{
  color: var(--text-on-dark-muted);
  font-size:13px;
  opacity:.9;
  margin-top:6px;
}.not-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}/* Conteúdo específico da tabela */
.not-message{ white-space: pre-wrap; }/* Pills */
.not-pill{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1px;
}/* Mapeamento de cores (mantém o “clima” do que você tinha) */
 /* compatível com seu padrão anterior */

/* Destaque para não lidas (equivalente ao hl-unread) */
.not-unread{
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  border-left: 4px solid rgba(52,211,153,0.55);
}body.theme-light .not-unread{
  box-shadow: 0 10px 28px rgba(15,23,42,0.10);
  border-left-color: rgba(16,185,129,0.55);
}/* 21) DASHBOARD — COMPONENTES / LAYOUT / TABELAS */

/* 21.1) TOPBAR E BLOCO (PADRÃO DO DASH) */
.gi-dash-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding: 18px 18px;
  border-radius: 18px;
  background: rgba(214,216,220,0.08);
  border: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 16px;
  color:#e2e8f0;
}.gi-dash-block{
  padding: 18px;
  border-radius: 18px;
  background: rgba(214,216,220,0.12);
  border: 1px solid rgba(255,255,255,0.08);
}.gi-dash-title{
  font-weight: 900;
  color:#e2e8f0;
  margin: 0 0 12px 0;
}/* Caixa interna */
.gi-dash-muted-box{
  background: rgba(238,240,243,0.10);
  color: #cbd5e1;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  padding: 14px;
}/* 21.2) GRIDS (2 COLUNAS E 3 COLUNAS) */
.gi-dash-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}.gi-dash-grid-3{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}@media (max-width: 1000px){
  .gi-dash-grid-2,
.gi-dash-grid-3 { grid-template-columns: 1fr; }

}/* 21.3) KPI (TÍTULO / VALOR / LINHAS) */
.gi-kpi-title{
  font-weight: 900;
  margin-bottom: 8px;
  color:#e2e8f0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}.gi-kpi-big{
  font-size: 28px;
  font-weight: 900;
  color:#e2e8f0;
  line-height: 1.1;
  margin: 6px 0 10px;
}.gi-kpi-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding: 6px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
}.gi-kpi-row:first-of-type{ border-top: 0; padding-top: 0; }.gi-kpi-label{ color:#cbd5e1; }.gi-kpi-val{ color:#e2e8f0; font-weight: 800; }/* Pill */
.gi-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color:#e2e8f0;
  font-weight: 800;
  font-size: 12px;
}/* 21.4) TABELAS DO DASH */
.gi-dash-table-wrap{
  padding:0;
  overflow:auto;
}table.gi-dash-table{
  width:100%;
  min-width: 860px;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(10,14,25,0.35);
  border: 1px solid rgba(255,255,255,0.08);
}/* Cabeçalho sticky */
table.gi-dash-table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(10,14,25,0.70);
  backdrop-filter: blur(6px);
  border-top: 0 !important;
  color:#cbd5e1 !important;
  font-weight: 900;
  padding: 12px 12px;
  text-align: left;
  white-space: nowrap;
}/* Corpo */
table.gi-dash-table tbody td{
  color:#e2e8f0 !important; /* ESSENCIAL para vencer regra global */
  padding:12px 12px;
  text-align:left;
  vertical-align: middle;
  white-space: nowrap;
  border-top: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.03);
}table.gi-dash-table tbody tr:nth-child(even) td{
  background: rgba(255,255,255,0.05);
}table.gi-dash-table tbody tr:hover td{
  background: rgba(52,211,153,0.10);
  border-top-color: rgba(52,211,153,0.25);
}/* Links dentro */
table.gi-dash-table a{
  color:#e2e8f0 !important;
  text-decoration: none;
  font-weight: 700;
}
/* 21.5) ATALHOS RÁPIDOS */
.gi-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 12px;
}.gi-qa-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color:#e2e8f0;
  text-decoration:none;
  font-weight: 900;
}.gi-qa-btn:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.16);
}/* 21.6) TEMA CLARO (OVERRIDES) */
body.page-mode.theme-light .gi-dash-topbar,
body.page-mode.theme-light .gi-dash-block{
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}body.page-mode.theme-light .gi-dash-muted-box{
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}body.page-mode.theme-light .gi-kpi-row{
  border-top-color: #e2e8f0 !important;
}body.page-mode.theme-light .gi-kpi-label{ color: #334155 !important; }
body.page-mode.theme-light .gi-pill{
  background: rgba(15,23,42,0.06) !important;
  border-color: rgba(15,23,42,0.14) !important;
  color: #0f172a !important;
}body.page-mode.theme-light .gi-qa-btn{
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}body.page-mode.theme-light .gi-qa-btn:hover{
  background: #f1f5f9 !important;
}/* Texto auxiliar do bloco de atalhos */
body.page-mode.theme-light .gi-dash-help{
  color:#334155 !important;
}/* Tabelas no tema claro */
body.page-mode.theme-light table.gi-dash-table{
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
}body.page-mode.theme-light table.gi-dash-table thead th{
  background: #f1f5f9 !important;
  color: #0f172a !important;
}body.page-mode.theme-light table.gi-dash-table tbody td{
  color:#0f172a !important;
  border-top-color: #e2e8f0 !important;
  background: #ffffff !important;
}body.page-mode.theme-light table.gi-dash-table tbody tr:nth-child(even) td{
  background: #f8fafc !important;
}body.page-mode.theme-light table.gi-dash-table tbody tr:hover td{
  background: #eafaf4 !important;
  border-top-color: #b7f0d4 !important;
}/* 22) REPORTS • ENTRIES (report_entries.php) */

/* grid filtros */
@media (max-width:1100px){
  .re-grid-4,
.rq-grid-3,
.rr-grid-4 { grid-template-columns: 1fr 1fr; }
}@media (max-width:700px){
  .re-grid-4,
.rq-grid-3,
.rr-grid-4 { grid-template-columns: 1fr; }
  .re-grid-full,
.rr-grid-full { grid-column: auto; }
}/* ações (remove inline) */
.re-actions,
.rq-actions,
.rr-actions{

  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
}/* (opcional) se quiser diferenciar o "Limpar" sem mexer no btn-secondary global */
.re-btn-clear{ }/* 22.1) REPORTS • EQUIPMENTS (report_equipments.php) */

/* grid filtros */

@media (max-width:1100px){

}@media (max-width:700px){

}/* ações (remove inline) */

/* 22.2) REPORTS • MOVEMENTS (report_rentals.php) */

/* grid filtros */

@media (max-width:1100px){

}@media (max-width:700px){


}

/* actions (remove inline) */


/* =========================================================
   GI — Coluna OBS (força quebra, remove ellipsis/corte)
========================================================= */

.gi-dash-table th.gi-col-obs-th {
  width: 320px;         /* ajuste como quiser */
}

.gi-dash-table td.gi-col-obs {
  white-space: normal !important;     /* quebra linha */
  overflow: visible !important;       /* não corta */
  text-overflow: clip !important;     /* remove "..." */
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
/* =========================================================
   GI — Report System Logs: quebra de linha na Mensagem
========================================================= */

.gi-dash-table th.gi-col-msg-th{
  width: 520px; /* ajuste se quiser */
}

.gi-dash-table td.gi-col-msg{
  white-space: normal !important;  /* permite quebrar linha */
  overflow: visible !important;    /* não corta */
  text-overflow: clip !important;  /* remove ellipsis */
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

/* =========================================================
   GI — Form Grid 3 Colunas
   ========================================================= */

.mp-form-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 1100px) {
  .mp-form-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .mp-form-grid-3 {
    grid-template-columns: 1fr;
  }
}
/* Alinha os campos pelo topo dentro do grid (evita “descer” por causa de hints) */
.gi-align-start{ align-items: start !important; }
.gi-action-check{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 10px; /* espaçamento após botão */
  user-select: none;
}

.gi-action-check input{
  width: 18px;
  height: 18px;
}
/* =========================================================
   GI — Coluna Mensagem (quebra de linha)
========================================================= */
.gi-col-message{
  white-space: normal;
  word-break: break-word;
  max-width: 420px; /* ajuste se quiser */
  vertical-align: top;
}
/* Header direito da tabela (texto + botão) */
.gi-table-head-actions{
  display:flex;
  flex-direction:column;  /* botão fica abaixo do texto */
  align-items:flex-end;   /* tudo alinhado à direita */
  gap:8px;                /* espaço entre texto e botão */
}

/* opcional: dar “empurrão” extra para baixo */
.gi-btn-invite{
  margin-top:2px;
}
/* system_logs.php — quebra de linha só na coluna Mensagem */
.mp-msg{
  white-space: normal !important;     /* permite quebrar */
  word-break: break-word;             /* quebra palavras grandes */
  overflow-wrap: anywhere;            /* quebra strings/urls sem espaço */
  line-height: 1.35;
}
/* =========================================================
   profile.php — grids (3 colunas)
========================================================= */

.page-profile .pr-grid3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.page-profile .pr-hgrid3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

/* Responsivo */
@media (max-width: 980px){
  .page-profile .pr-grid3,
  .page-profile .pr-hgrid3{
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   SETTINGS — título + ações no topo (direita)
========================================================= */
.set-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 14px;
}

.set-head .block-title{
  margin:0; /* evita “pular” o alinhamento */
}

/* o botão já herda o estilo do gi-btn/gi-btn-danger (tema ok) */
.set-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
}

/* responsivo: no mobile empilha */
@media (max-width: 720px){
  .set-head{
    flex-direction:column;
    align-items:flex-start;
  }
}
/* =========================================================
   SETTINGS — normaliza dimensões do botão Logout (claro/escuro)
========================================================= */
.set-logout-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  /* Dimensões (mantém igual no claro) */
  height: 34px;
  padding: 0 12px;

  /* Tipografia consistente */
  font-size: 14px;
  line-height: 1;

  /* Evita variação por tema */
  box-sizing: border-box;
  white-space: nowrap;
}
/* =========================================================
   SETTINGS — hover sutil no logout
========================================================= */
.set-logout-btn{
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}

.set-logout-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
}
.set-logout-btn:active{
  transform: translateY(0px);
  filter: brightness(0.98);
}
/* clients.php — ações na tabela (evita cortar) */
.gi-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;          /* <- não corta, quebra linha se precisar */
  align-items:center;
}

.gi-del-form{ margin:0; }

/* Botão lixeira */
.gi-btn-trash{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.gi-ico{
  width:16px;
  height:16px;
  display:block;
  fill: currentColor;
}

/* Em telas pequenas, some o texto e fica só o ícone (economiza espaço) */
@media (max-width: 720px){
  .gi-btn-trash-label{ display:none; }
  .gi-btn-trash{ padding-left:10px; padding-right:10px; }
}
/* =========================================================
   GI Modal (Global) — versão limpa
========================================================= */

#gi-modal.gi-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  background: rgba(0,0,0,.55);
  padding: 6vh 16px;
}

#gi-modal.gi-modal.is-open{ display:block; }

#gi-modal .gi-modal-card{
  max-width: 900px;
  margin: 0 auto;
  background: var(--gi-card-bg, #fff);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  border: 1px solid rgba(0,0,0,.08);
  color: var(--gi-text, #111827);
}

#gi-modal .gi-modal-head{
  padding: 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

#gi-modal .gi-modal-title{
  font-weight: 800;
  font-size: 16px;
  line-height: 1.2;
  color: rgba(17,24,39,.92);
}

#gi-modal #modal-subtitle{
  color: rgba(17,24,39,.70);
}

#gi-modal .gi-modal-body{ padding: 16px; }

#gi-modal .gi-modal-input{
  flex: 1;
  min-width: 240px;
}

#gi-modal #modal-info{ color: rgba(17,24,39,.78); }

#gi-modal .gi-modal-tablewrap{
  max-height: 52vh;
  overflow: auto;
}

/* tabela dentro do modal */
#gi-modal .gi-modal-table{
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
}

#gi-modal .gi-modal-table th,
#gi-modal .gi-modal-table td{
  white-space: nowrap;
  vertical-align: middle;
}

#gi-modal .gi-modal-table tbody tr{ cursor:pointer; }
#gi-modal .gi-modal-table tbody tr:hover{ filter: brightness(.98); }

/* Head da tabela no modal — usa a própria cor do tema da tabela */
#gi-modal .gi-dash-table thead th{ color: inherit; }

/* =========================================================
   GI Modal — Close isolado (não depende de .btn / tema)
   Cole NO FINAL do styles.css
========================================================= */

#gi-modal .gi-modal-card{ position: relative; }

#gi-modal #modal-close.gi-modal-x{
  all: initial;                 /* zera estilo do tema */
  box-sizing: border-box;

  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 2 !important;

  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;
  user-select: none !important;

  /* Sempre visível no claro */
  background: rgba(17,24,39,.08) !important;
  border: 1px solid rgba(17,24,39,.22) !important;

  color: #111827 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  opacity: 1 !important;
  visibility: visible !important;

  /* mata “apagadores” comuns */
  filter: none !important;
  mix-blend-mode: normal !important;
  -webkit-text-fill-color: #111827 !important;
}

#gi-modal #modal-close.gi-modal-x:hover{
  background: rgba(17,24,39,.14) !important;
}

/* Dark */
body.dark #gi-modal #modal-close.gi-modal-x,
html.dark #gi-modal #modal-close.gi-modal-x,
[data-theme="dark"] #gi-modal #modal-close.gi-modal-x{
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
}

body.dark #gi-modal #modal-close.gi-modal-x:hover,
html.dark #gi-modal #modal-close.gi-modal-x:hover,
[data-theme="dark"] #gi-modal #modal-close.gi-modal-x:hover{
  background: rgba(255,255,255,.16) !important;
}
/* ===== Modal GI (reutilizável) ===== */
.gi-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.gi-modal.is-open{ display:block; }

.gi-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55);
}

.gi-modal__card{
  position:relative;
  width:min(720px, calc(100% - 24px));
  margin: 60px auto;
  border-radius:14px;
  overflow:hidden;
  background: var(--card, #0b1220);
  color: var(--text, #e5e7eb);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.08);
}

.page-mode .gi-modal__card{
  background: var(--gi-card, #0b1220);
  color: var(--gi-text, #e5e7eb);
}

.gi-modal__head{
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:14px 16px;
  background: rgba(255,255,255,.04);
}

.gi-modal__title{ font-weight:900; font-size:14px; }
.gi-modal__sub{ margin-top:4px; opacity:.8; font-size:12px; line-height:1.35; }

.gi-modal__close{
  width:36px; height:36px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background: transparent;
  color: inherit;
  font-size:22px;
  cursor:pointer;
}

.gi-modal__body{ padding:16px; }
.gi-modal__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
}
@media (max-width: 860px){
  .gi-modal__grid{ grid-template-columns: 1fr; }
}

.gi-modal__opt{
  display:block;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: inherit;
  text-decoration:none;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.gi-modal__opt:hover{
  transform: translateY(-1px);
  background: rgba(22,163,74,.10);
  border-color: rgba(22,163,74,.35);
}

.gi-modal__optTitle{ font-weight:900; font-size:13px; }
.gi-modal__optDesc{ margin-top:6px; opacity:.85; font-size:12px; line-height:1.35; }

.gi-modal__foot{
  padding:12px 16px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  background: rgba(255,255,255,.04);
}
/* =========================================================
   FIX — GI Modal Close visível no tema claro (força final)
   Cole no FINAL do styles.css
========================================================= */
body.theme-light #gi-modal #modal-close.gi-modal-x{
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;

  background: rgba(15,23,42,.10) !important;
  border: 1px solid rgba(15,23,42,.28) !important;

  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;

  filter: none !important;
  mix-blend-mode: normal !important;

  z-index: 5 !important;
}
body.theme-light #gi-modal #modal-close.gi-modal-x:hover{
  background: rgba(15,23,42,.16) !important;
}
/* ==============================
   Maintenance Open — grid helpers
   (não quebra outras telas)
============================== */

/* grid principal já existe? se não existir, garantimos */
.page-maintenance-open .mo-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
}

/* spans */
.page-maintenance-open .mo-col-1{ grid-column: span 1; }
.page-maintenance-open .mo-col-2{ grid-column: span 2; }
.page-maintenance-open .mo-col-3{ grid-column: span 3; }
.page-maintenance-open .mo-col-4{ grid-column: 1 / -1; }

/* origem alinhada bonitinha */
.page-maintenance-open .mo-origin-row{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.page-maintenance-open .mo-radio{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* divisor entre blocos */
.page-maintenance-open .mo-divider{
  height: 1px;
  opacity: .18;
  background: currentColor;
  margin-top: 6px;
  margin-bottom: 6px;
}

/* responsivo */
@media (max-width: 1100px){
  .page-maintenance-open .mo-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-maintenance-open .mo-col-1,
  .page-maintenance-open .mo-col-2,
  .page-maintenance-open .mo-col-3{ grid-column: span 1; }
  .page-maintenance-open .mo-col-4{ grid-column: 1 / -1; }
}
@media (max-width: 640px){
  .page-maintenance-open .mo-grid{ grid-template-columns: 1fr; }
  .page-maintenance-open .mo-col-1,
  .page-maintenance-open .mo-col-2,
  .page-maintenance-open .mo-col-3,
  .page-maintenance-open .mo-col-4{ grid-column: 1 / -1; }
}
/* =========================================================
   FIX (Tema claro) — equipment_entry.php
   Motivo:
   - No tema claro, .tbl-btn-success vira "pill" (muito transparente)
   - .tbl-btn-muted não existe no CSS (fica quase invisível)
========================================================= */

body.theme-light.page-equipment-entry .tbl-btn{
  border-color: rgba(15,23,42,0.18);
}

body.theme-light.page-equipment-entry .tbl-btn-success{
  background: rgba(16,185,129,0.92);
  border-color: rgba(16,185,129,1);
  color:#022c22;
  box-shadow: 0 8px 18px rgba(16,185,129,.20);
}

body.theme-light.page-equipment-entry .tbl-btn-success:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}


/* =========================================================
   FIX (Tema claro) — equipment_entry.php
   Motivo:
   - No tema claro, .tbl-btn-success vira "pill" (muito transparente)
   - .tbl-btn-muted não existe no CSS (fica quase invisível)
========================================================= */

body.theme-light.page-equipment-entry .tbl-btn{
  border-color: rgba(15,23,42,0.18);
}

body.theme-light.page-equipment-entry .tbl-btn-success{
  background: rgba(16,185,129,0.92);
  border-color: rgba(16,185,129,1);
  color:#022c22;
  box-shadow: 0 8px 18px rgba(16,185,129,.20);
}

body.theme-light.page-equipment-entry .tbl-btn-success:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}
