/* =========================================================
   GM TECH DESIGN SYSTEM V4
   Padronização do topo, KPIs, filtros e títulos internos.
   Regra: visual único, sem alterar IDs, rotas ou JS existente.
   ========================================================= */
:root{
  --gm4-red:#e3062c;
  --gm4-red-dark:#b80a2c;
  --gm4-ink: var(--text);
  --gm4-muted: var(--text-soft);
  --gm4-line: var(--border);
  --gm4-soft: var(--card-soft);
  --gm4-card: var(--card);
  --gm4-shadow:0 14px 34px rgba(5,18,41,.075);
  --gm4-shadow-red:0 16px 30px rgba(227,6,44,.22);
  --gm4-radius:16px;
}

/* Base da área principal: uma rolagem principal por página */
.gm-content{
  background:linear-gradient(180deg,var(--card-soft) 0%,var(--card-soft) 100%) !important;
  overflow:auto !important;
}

/* HERO OFICIAL ------------------------------------------------ */
.gm-page-head,
.pa-hero-mini,
.adm-hero,
.gm-health-head,
.gm-v4-hero{
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(420px,1fr) minmax(320px,430px) !important;
  align-items:center !important;
  gap:18px !important;
  margin:0 0 12px 0 !important;
  padding:16px 18px !important;
  border:1px solid var(--gm4-line) !important;
  border-top:4px solid var(--gm4-red) !important;
  border-radius:var(--gm4-radius) !important;
  background:
    radial-gradient(circle at 8% 0%,rgba(227,6,44,.08),transparent 28%),
    linear-gradient(135deg,var(--card) 0%,var(--card-soft) 68%,var(--card-soft) 100%) !important;
  box-shadow:var(--gm4-shadow) !important;
  overflow:hidden !important;
}
.gm-page-head:before,
.pa-hero-mini:before,
.adm-hero:before,
.gm-health-head:before,
.gm-v4-hero:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--gm4-red),rgba(227,6,44,0));
  opacity:.75;
}

.gm-page-title,
.pa-hero-mini > div:first-child,
.adm-hero > div:first-child,
.gm-health-title,
.gm-v4-hero-copy{
  min-width:0;
  position:relative;
  z-index:1;
}

.gm-eyebrow,
.gm-page-title > .gm-eyebrow,
.pa-hero-mini small,
.adm-eyebrow,
.gm-v4-eyebrow{
  display:inline-flex !important;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:22px;
  margin:0 0 7px !important;
  padding:0 10px;
  border:1px solid rgba(227,6,44,.16);
  border-radius:999px;
  background:var(--primary-soft);
  color:#c4002f !important;
  font-size:10px !important;
  line-height:1;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.gm-page-title h1,
.pa-hero-mini h1,
.adm-hero h1,
.gm-health-title h1,
.gm-v4-hero h1{
  margin:0 0 5px !important;
  color:var(--gm4-ink) !important;
  font-size:clamp(25px,2.2vw,34px) !important;
  line-height:.98 !important;
  font-weight:950 !important;
  letter-spacing:-1.15px !important;
}
.gm-page-title p,
.pa-hero-mini p,
.adm-hero p,
.gm-health-title p,
.gm-v4-hero p{
  max-width:760px;
  margin:0 !important;
  color:#233954 !important;
  font-size:12.5px !important;
  line-height:1.42 !important;
  font-weight:650 !important;
}

/* Ações do hero: mesmo desenho em todas as páginas */
.gm-actions,
.pa-top-actions,
.adm-actions,
.gm-health-actions,
.gm-v4-hero-actions{
  position:relative;
  z-index:1;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:9px !important;
  justify-self:end !important;
  width:100% !important;
  max-width:430px !important;
  padding:0 !important;
  align-items:center !important;
}
.gm-actions .gm-btn,
.pa-top-actions .pa-btn,
.adm-actions .adm-btn,
.gm-health-actions .gm-btn,
.gm-v4-hero-actions .gm-btn,
.gm-v4-hero-actions .btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border-radius:10px !important;
  border:1px solid var(--border-2) !important;
  background:var(--card) !important;
  color:var(--gm4-ink) !important;
  font-size:12.4px !important;
  font-weight:950 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 5px 14px rgba(5,18,41,.035) !important;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.gm-actions .gm-btn:hover,
.pa-top-actions .pa-btn:hover,
.adm-actions .adm-btn:hover,
.gm-health-actions .gm-btn:hover,
.gm-v4-hero-actions .gm-btn:hover,
.gm-v4-hero-actions .btn:hover{
  transform:translateY(-1px);
  box-shadow:var(--gm4-shadow);
}
.gm-btn-primary,
.pa-btn.primary,
.adm-btn-primary,
.gm-health-actions .gm-btn-primary,
.gm-v4-hero-actions .gm-btn-primary,
.gm-v4-hero-actions .btn-primary{
  background:linear-gradient(90deg,var(--gm4-red),#c4002b) !important;
  border-color:#d3002d !important;
  color:#fff !important;
  box-shadow:var(--gm4-shadow-red) !important;
}
.gm-btn-redline,
.pa-btn.redline,
.gm-v4-hero-actions .gm-btn-redline{
  border-color:#efb5c2 !important;
  color:#c40029 !important;
  background:var(--card) !important;
}

/* Ativos traz KPIs dentro do hero. Mantém o padrão aprovado. */
.gm-page-head .gm-kpis{
  margin-top:12px !important;
}

/* KPI OFICIAL -------------------------------------------------- */
.gm-kpis,
.pa-kpi-row,
.adm-kpis,
.gm-health-kpis,
.gm-v4-kpis{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px !important;
  margin:0 0 12px !important;
}
.adm-kpis{grid-template-columns:repeat(5,minmax(0,1fr));}
.gm-health-kpis.ce-v3-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
.gm-kpi,
.pa-kpi,
.adm-kpis article,
.gm-health-kpi,
.gm-v4-kpi{
  min-height:70px !important;
  border:1px solid var(--gm4-line) !important;
  border-left:4px solid var(--gm4-red) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,var(--card),var(--card-soft)) !important;
  box-shadow:0 10px 24px rgba(5,18,41,.055) !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:12px 16px !important;
  color:var(--gm4-ink) !important;
}
.gm-kpi-icon,
.pa-kpi .ico,
.adm-kpis article span,
.gm-health-kpi-icon,
.gm-v4-kpi-icon{
  width:40px !important;
  height:40px !important;
  flex:none;
  border-radius:13px !important;
  display:grid !important;
  place-items:center !important;
  background:#edf4ff !important;
  color:#3867b7 !important;
  font-size:17px !important;
}
.gm-kpi strong,
.pa-kpi strong,
.adm-kpis article strong,
.gm-health-kpi strong,
.gm-v4-kpi strong{
  display:block;
  margin:0 0 3px;
  color:var(--gm4-ink) !important;
  font-size:24px !important;
  line-height:.95 !important;
  font-weight:950 !important;
  letter-spacing:-.6px;
}
.gm-kpi small,
.pa-kpi small,
.adm-kpis article small,
.gm-health-kpi small,
.gm-v4-kpi small{
  display:block;
  color:#273a56 !important;
  font-size:10px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.gm-health-kpi em{font-size:11px !important;font-weight:750 !important;color:#5d708a !important;}

/* Cards/títulos internos -------------------------------------- */
.gm-table-head,
.pa-card-head,
.seletivo-panel-header{
  min-height:52px;
  padding:12px 16px !important;
  border-bottom:1px solid var(--gm4-line) !important;
}
.gm-table-head h2,
.pa-card-head h2,
.seletivo-panel-title,
.gm-section-title{
  margin:0 0 4px !important;
  color:var(--gm4-ink) !important;
  font-size:18px !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.35px;
}
.gm-table-head p,
.pa-card-head p,
.seletivo-panel-subtitle,
.gm-section-subtitle{
  margin:0 !important;
  color:#4a5d76 !important;
  font-size:12px !important;
  font-weight:650 !important;
}

/* Link público / painéis auxiliares */
.gm-v4-link-panel,
.seletivo-public-link-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid var(--gm4-line);
  border-radius:14px;
  background:var(--card);
  box-shadow:0 10px 24px rgba(5,18,41,.055);
}
.gm-v4-link-panel strong,
.seletivo-public-link-card strong{display:block;margin-bottom:6px;color:var(--gm4-ink);font-size:13px;font-weight:950;}
.gm-v4-link-panel code,
.seletivo-public-link-card code{
  display:block;
  max-width:100%;
  min-height:30px;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card-soft);
  color:#09213f;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}

/* Seletivo V4 */
.seletivo-v4 .seletivo-approval-layout,
.seletivo-approval-layout{
  display:block !important;
}
.seletivo-v4 .seletivo-list,
.seletivo-list{
  border:1px solid var(--gm4-line) !important;
  border-radius:var(--gm4-radius) !important;
  background:var(--card) !important;
  box-shadow:var(--gm4-shadow) !important;
  overflow:hidden !important;
}
.seletivo-toolbar{
  display:grid !important;
  grid-template-columns:minmax(230px,1.25fr) minmax(150px,.75fr) minmax(160px,.8fr) minmax(160px,.8fr) 110px 100px !important;
  gap:10px !important;
  align-items:end !important;
  padding:14px 16px !important;
  border-bottom:1px solid var(--gm4-line) !important;
}
.seletivo-toolbar .field{display:grid !important;gap:6px !important;}
.seletivo-toolbar label,
.seletivo-toolbar .field label{
  color:#53637a !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.seletivo-toolbar input,
.seletivo-toolbar select{
  width:100% !important;
  height:34px !important;
  border:1px solid var(--border-2) !important;
  border-radius:9px !important;
  background:var(--card) !important;
  padding:0 11px !important;
  color:var(--gm4-ink) !important;
  font-weight:750 !important;
}
.seletivo-list-table{
  width:100% !important;
  border-collapse:collapse !important;
  min-width:980px !important;
}
.seletivo-list-table th{
  height:38px !important;
  background:var(--card-soft) !important;
  border-bottom:1px solid var(--gm4-line) !important;
  color: var(--text-soft) !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  padding:0 12px !important;
}
.seletivo-list-table td{
  min-height:52px !important;
  border-bottom:1px solid var(--gm4-line) !important;
  padding:11px 12px !important;
  color:var(--gm4-ink) !important;
  font-size:12px !important;
  font-weight:800 !important;
  vertical-align:middle !important;
}
.seletivo-list-table tbody tr:hover{background:var(--card-soft) !important;}
.seletivo-list-table small{color:#5a6e89 !important;font-weight:750 !important;}
.doc-pill{min-width:88px;justify-content:center;}

/* Responsivo */
@media(max-width:1366px){
  .gm-content{padding:10px 16px 16px !important;}
  .gm-page-head,.pa-hero-mini,.adm-hero,.gm-health-head,.gm-v4-hero{padding:14px 16px !important;gap:14px !important;}
  .gm-page-title h1,.pa-hero-mini h1,.adm-hero h1,.gm-health-title h1,.gm-v4-hero h1{font-size:28px !important;}
  .gm-kpi,.pa-kpi,.adm-kpis article,.gm-health-kpi,.gm-v4-kpi{min-height:62px !important;padding:10px 14px !important;}
  .gm-kpi-icon,.pa-kpi .ico,.adm-kpis article span,.gm-health-kpi-icon,.gm-v4-kpi-icon{width:34px !important;height:34px !important;}
  .gm-kpi strong,.pa-kpi strong,.adm-kpis article strong,.gm-health-kpi strong,.gm-v4-kpi strong{font-size:21px !important;}
}
@media(max-width:1180px){
  .gm-page-head,.pa-hero-mini,.adm-hero,.gm-health-head,.gm-v4-hero{grid-template-columns:1fr !important;}
  .gm-actions,.pa-top-actions,.adm-actions,.gm-health-actions,.gm-v4-hero-actions{justify-self:stretch !important;max-width:none !important;}
  .gm-kpis,.pa-kpi-row,.adm-kpis,.gm-health-kpis,.gm-v4-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .seletivo-toolbar{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:720px){
  .gm-kpis,.pa-kpi-row,.adm-kpis,.gm-health-kpis,.gm-v4-kpis{grid-template-columns:1fr !important;}
  .gm-actions,.pa-top-actions,.adm-actions,.gm-health-actions,.gm-v4-hero-actions{grid-template-columns:1fr !important;}
  .seletivo-toolbar{grid-template-columns:1fr !important;}
  .gm-v4-link-panel,.seletivo-public-link-card{grid-template-columns:1fr !important;}
}

/* =========================================================
   GM TECH UI 4.0 - Correção compacta da área do usuário/topbar
   Ajuste solicitado: notificação + usuário + sair alinhados e menores.
   ========================================================= */
.gm-topbar{
  gap:8px !important;
  padding-right:12px !important;
  min-width:0 !important;
}

.gm-topbar .gm-top-spacer{
  flex:1 1 auto !important;
  min-width:12px !important;
}

.gm-topbar .gm-notify,
.gm-topbar .gm-user,
.gm-topbar .gm-logout{
  height:32px !important;
  flex:0 0 auto !important;
  margin:0 !important;
  align-self:center !important;
  box-shadow:none !important;
}

.gm-topbar .gm-notify{
  width:34px !important;
  border:1px solid #dbe6f2 !important;
  background:var(--card) !important;
  border-radius:11px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
}

.gm-topbar .gm-notify span{
  top:-5px !important;
  right:-5px !important;
}

.gm-topbar .gm-user{
  width:auto !important;
  max-width:152px !important;
  min-width:0 !important;
  padding:0 9px !important;
  gap:8px !important;
  border:1px solid #dbe6f2 !important;
  background:var(--card) !important;
  border-radius:11px !important;
  overflow:hidden !important;
}

.gm-topbar .gm-avatar{
  width:26px !important;
  height:26px !important;
  font-size:13px !important;
  flex:0 0 26px !important;
}

.gm-topbar .gm-user-copy{
  min-width:0 !important;
  max-width:88px !important;
  overflow:hidden !important;
}

.gm-topbar .gm-user-copy strong{
  display:block !important;
  max-width:88px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1.05 !important;
  color:var(--text) !important;
}

.gm-topbar .gm-user-copy small{
  display:block !important;
  max-width:88px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:9.5px !important;
  line-height:1.1 !important;
  margin-top:2px !important;
  color:#5b6d85 !important;
  text-transform:uppercase !important;
}

.gm-topbar .gm-user-arrow{
  flex:0 0 auto !important;
  font-size:11px !important;
  color:#667892 !important;
}

.gm-topbar .gm-logout,
.gm-topbar #btnSair{
  min-width:68px !important;
  max-width:78px !important;
  padding:0 10px !important;
  border:1px solid #dbe6f2 !important;
  background:var(--card) !important;
  color:var(--text) !important;
  border-radius:11px !important;
  font-size:12px !important;
  font-weight:950 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}

.gm-topbar .gm-user:hover,
.gm-topbar .gm-notify:hover,
.gm-topbar .gm-logout:hover,
.gm-topbar #btnSair:hover{
  background:var(--card-soft) !important;
  border-color:#c6d5e8 !important;
  transform:none !important;
}

@media(max-width:980px){
  .gm-topbar .gm-user{max-width:118px !important;}
  .gm-topbar .gm-user-copy{max-width:58px !important;}
  .gm-topbar .gm-user-copy strong,.gm-topbar .gm-user-copy small{max-width:58px !important;}
  .gm-topbar .gm-logout,.gm-topbar #btnSair{min-width:58px !important;max-width:64px !important;padding:0 8px !important;}
}

@media(max-width:760px){
  .gm-topbar .gm-user-copy,.gm-topbar .gm-user-arrow{display:none !important;}
  .gm-topbar .gm-user{width:34px !important;padding:0 !important;justify-content:center !important;}
  .gm-topbar .gm-logout,.gm-topbar #btnSair{min-width:52px !important;max-width:56px !important;font-size:11px !important;}
}
