/* ============================================================
   gs-ui.css — GS ERP · camada de acabamento visual
   Carregada por ÚLTIMO em todas as páginas. Só aparência:
   tipografia, botões, hover e ícones. Não altera layout/lógica.
   ============================================================ */

:root{
  --gs-blue:#20789A; --gs-blue-d:#175F7C; --gs-navy:#0A2E3D; --gs-navy-2:#0D3B4E;
  --gs-ink:#16283A; --gs-text:#4B5B6B; --gs-muted:#7C8CA0;
  --gs-line:#E1E9F2; --gs-ice:#F5F8FB; --gs-sky:#ECF5F9;
  --gs-shadow:0 8px 30px rgba(10,46,61,.07);
  --gs-shadow-lg:0 18px 45px rgba(10,46,61,.14);
}

/* ---------- TIPOGRAFIA ---------- */
body{ -webkit-font-smoothing:antialiased; letter-spacing:-.005em; }
h1,h2,h3,h4,.panel-title,.brand,.greeting-title,.mod-title{
  font-weight:800; letter-spacing:-.02em;
}
h1{ line-height:1.14 } h2,h3{ line-height:1.2 }
.panel-desc,.mod-desc,.sub,.hint{ color:var(--gs-text); }
small,.meta,.kpi-label,.mod-badge{ letter-spacing:.02em; }

/* ---------- BOTÕES ---------- */
button, .btn, a.btn{ font-family:inherit; }

button.primary, .btn-primary, button.submit, .btn-hub.primary{
  background:var(--gs-blue) !important;
  color:#fff !important;
  border:1.5px solid transparent !important;
  border-radius:10px !important;
  font-weight:700 !important;
  letter-spacing:-.01em;
  box-shadow:0 6px 16px rgba(32,120,154,.24);
  transition:background .18s, transform .18s, box-shadow .18s;
  position:relative; overflow:hidden;
}
button.primary:hover, .btn-primary:hover, button.submit:hover{
  background:var(--gs-blue-d) !important;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(32,120,154,.32);
}
button.primary:active, .btn-primary:active, button.submit:active{ transform:translateY(0) }

/* brilho passando no hover (igual ao site) */
button.primary::before, .btn-primary::before, button.submit::before{
  content:""; position:absolute; top:0; left:-85%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg); transition:left .55s ease; pointer-events:none;
}
button.primary:hover::before, .btn-primary:hover::before, button.submit:hover::before{ left:130% }

button.ghost, .btn-ghost, .ghost{
  background:#fff !important;
  border:1.5px solid var(--gs-line) !important;
  color:#3D4F63 !important;
  border-radius:10px !important;
  font-weight:700 !important;
  transition:border-color .18s, color .18s, background .18s, transform .18s;
}
button.ghost:hover, .btn-ghost:hover, .ghost:hover{
  border-color:var(--gs-blue) !important;
  color:var(--gs-blue) !important;
  background:var(--gs-sky) !important;
  transform:translateY(-1px);
}

/* botões de navegação do topo */
.nav-btn, .btn-hub{
  border-radius:9px !important;
  font-weight:600 !important;
  transition:background .16s, color .16s, border-color .16s, transform .16s;
}
.nav-btn:hover, .btn-hub:hover{
  background:var(--gs-sky) !important;
  color:var(--gs-blue) !important;
  border-color:var(--gs-blue) !important;
  transform:translateY(-1px);
}

/* ---------- CARDS COM HOVER (igual aos cards do site) ---------- */
.mod-card, .kpi, .panel, .doc-item, .equipe-card, .orc-opt{
  border-radius:14px !important;
  transition:transform .22s cubic-bezier(.2,.65,.25,1), box-shadow .22s, border-color .22s !important;
}
.mod-card:hover, .orc-opt:hover{
  transform:translateY(-5px) !important;
  box-shadow:var(--gs-shadow-lg) !important;
  border-color:#BFDDE9 !important;
}
.kpi:hover, .doc-item:hover, .equipe-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:var(--gs-shadow) !important;
  border-color:#BFDDE9 !important;
}
/* ícone do módulo cresce de leve no hover */
.mod-card .mod-icon{ transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important; }
.mod-card:hover .mod-icon{ transform:scale(1.08) rotate(-4deg) !important; }

/* ---------- CAMPOS ---------- */
input, select, textarea{
  border-radius:9px !important;
  transition:border-color .15s, box-shadow .15s, background .15s;
}
input:focus, select:focus, textarea:focus{
  outline:none !important;
  border-color:var(--gs-blue) !important;
  box-shadow:0 0 0 4px rgba(32,120,154,.13) !important;
}

/* ---------- ÍCONES (Tabler) ---------- */
.ti{ font-size:1.05em; line-height:1; vertical-align:-.12em; }
.mod-icon .ti{ font-size:23px; color:#fff; }
.nav-btn .ti, .btn-hub .ti{ font-size:15px; margin-right:2px; }
.kpi-ic .ti{ font-size:17px; }
button .ti{ margin-right:5px; }

/* ---------- DETALHES ---------- */
::selection{ background:var(--gs-blue); color:#fff; }
a{ transition:color .15s; }
*:focus-visible{ outline:3px solid var(--gs-blue); outline-offset:2px; }

/* caixa "Refinar com IA" desativada a pedido do usuário */
.ai-box{display:none !important}

/* ---------- TELA CHEIA NO DESKTOP (pedido: sem espaços sobrando nas laterais) ---------- */
@media(min-width:901px){
  .main, .wrap, .cg-wrap, .mg-wrap,
  .hero, .stats, .toolbar, .list-wrap{
    max-width:100% !important;
  }
  .main{ padding-left:34px !important; padding-right:34px !important; }
  .wrap{ padding-left:34px !important; padding-right:34px !important; }
  .hero, .stats, .toolbar, .list-wrap{ padding-left:34px !important; padding-right:34px !important; }
}
/* a folha A4 da proposta continua com largura de papel */
.folha{ max-width:794px !important; }

/* ---------- LINHAS TEMÁTICAS DOS MÓDULOS (painel) ---------- */
.mod-row-label{margin:20px 0 10px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#20789A;display:flex;align-items:center;gap:8px}
.mod-row-label .ti{font-size:14px}
.mod-row-label::after{content:"";flex:1;height:1.5px;background:linear-gradient(90deg,#E3EAF2,transparent)}
.mod-row-label:first-of-type{margin-top:14px}
.modulos{margin-bottom:6px}

/* alternador de tema aposentado (visual único claro) */
#gs-tema-btn{display:none !important}
