/* ==========================================================================
   platform.css — Camada de plataforma do Board AeroFluent AI
   --------------------------------------------------------------------------
   Quarta camada do design system. Carrega SEMPRE depois de board.css
   (e depois de study.css / comercial.css quando existirem).

   Escopo desta camada:
     1. Navegação global por domínios de negócio  (.gnav)
     2. Indicadores de maturidade                 (.mt)
     3. Dashboard Executivo                       (.domh / .dgrid / .dcard)
     4. Base de Evidências — grade de catálogo    (.evgrid / .evcard)
     5. Central de Prioridades — estrutura        (.pr-*)

   Regra de identidade: esta camada NÃO redefine nenhum token de board.css
   e não altera nenhum componente existente. Apenas acrescenta.
   ========================================================================== */

:root{
  --blue:#6FA8CF;              /* Em construção — único acréscimo cromático */
  --gnav-h:44px;
  --topbar-h:64px;
}

/* ==========================================================================
   1. NAVEGAÇÃO GLOBAL POR DOMÍNIOS DE NEGÓCIO
   Injetada por js/shell.js imediatamente após .topbar em todas as páginas.
   ========================================================================== */

/* Normalização de contêiner: algumas páginas de acervo declaram .topbar-in
   sem .wrap. A barra global precisa ficar alinhada à marca em todas elas. */
.topbar-in:not(.wrap){
  width:100%;
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 28px;
}

.gnav{
  position:sticky;
  top:var(--topbar-h);
  z-index:89;
  background:rgba(15,35,52,.92);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--line);
}

.gnav-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  height:var(--gnav-h);
}

.gnav-links{
  display:flex;
  align-items:center;
  gap:0;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.gnav-links::-webkit-scrollbar{display:none}

.gnav a{
  flex:0 0 auto;
  display:inline-block;
  padding:6px 10px;
  border:1px solid transparent;
  border-radius:100px;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--sub);
  text-decoration:none;
  white-space:nowrap;
  transition:color .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}
.gnav a:hover{
  color:var(--gold-bright);
  border-color:var(--line);
}
.gnav a.on{
  color:var(--gold);
  background:rgba(197,160,89,.09);
  border-color:var(--line-soft);
}

/* separador antes do bloco de evidências/prioridades */
.gnav a.sep{
  margin-left:12px;
  position:relative;
}
.gnav a.sep::before{
  content:'';
  position:absolute;
  left:-7px; top:50%;
  transform:translateY(-50%);
  width:1px; height:14px;
  background:var(--line);
}

.gnav-meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.crumb{
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
  white-space:nowrap;
}
.crumb b{
  color:var(--sub);
  font-weight:400;
}

/* ==========================================================================
   2. INDICADORES DE MATURIDADE
   🟢 Validado · 🟡 Em evolução · 🔵 Em construção · ⚪ Planejado
   ========================================================================== */

.mt{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px 4px 8px;
  border:1px solid var(--line);
  border-radius:100px;
  font-family:var(--mono);
  font-size:8.5px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--sub);
  white-space:nowrap;
  line-height:1;
}
.mt::before{
  content:'';
  width:6px; height:6px;
  border-radius:50%;
  background:var(--mute);
  flex:0 0 auto;
}

.mt-v{color:var(--green);border-color:rgba(95,184,124,.28)}
.mt-v::before{background:var(--green);box-shadow:0 0 0 3px rgba(95,184,124,.12)}

.mt-e{color:var(--gold);border-color:var(--line-soft)}
.mt-e::before{background:var(--gold);box-shadow:0 0 0 3px rgba(197,160,89,.12)}

.mt-c{color:var(--blue);border-color:rgba(111,168,207,.28)}
.mt-c::before{background:var(--blue);box-shadow:0 0 0 3px rgba(111,168,207,.12)}

.mt-p{color:var(--mute);border-color:var(--line)}
.mt-p::before{background:var(--mute)}

/* legenda dos indicadores */
.mtkey{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 0;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--navy-card-2);
}
.mtkey p{
  margin:0;
  width:100%;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--mute);
}
.mtkey .mtk{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  color:var(--text);
}
.mtkey .mtk span{color:var(--mute);font-size:12px}

/* ==========================================================================
   3. DASHBOARD EXECUTIVO — cabeçalhos de domínio e grade de cartões
   ========================================================================== */

.domh{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:0 0 4px;
  scroll-margin-top:128px;
}
.domh .dh-n{
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  flex:0 0 auto;
}
.domh h2{
  margin:0;
  flex:0 0 auto;
}
.domh .dh-l{
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg,var(--line),transparent);
}

.domsub{
  margin:0 0 22px;
  max-width:62ch;
  font-size:14.5px;
  line-height:1.62;
  color:var(--sub);
}

.dgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(268px,1fr));
  gap:14px;
}
.dgrid.d2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}

.dcard{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:22px 22px 18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--navy-card);
  text-decoration:none;
  position:relative;
  overflow:hidden;
  transition:border-color .3s var(--ease), transform .3s var(--ease), background .3s var(--ease);
}
.dcard::after{
  content:'';
  position:absolute;
  left:0; top:0;
  width:2px; height:100%;
  background:var(--gold);
  opacity:0;
  transition:opacity .3s var(--ease);
}
.dcard:hover{
  border-color:var(--line-soft);
  background:var(--navy-card-2);
  transform:translateY(-2px);
}
.dcard:hover::after{opacity:.7}

.dcard .dc-n{
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.dcard h3{
  margin:0;
  font-family:var(--serif);
  font-size:21px;
  font-weight:500;
  line-height:1.2;
  color:var(--white);
  letter-spacing:.01em;
}
.dcard .dc-q{
  margin:0;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.dcard p{
  margin:0;
  font-size:13.5px;
  line-height:1.6;
  color:var(--text);
  flex:1 1 auto;
}
.dcard .dc-f{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:6px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.dcard .dc-go{
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sub);
  transition:color .25s var(--ease);
}
.dcard:hover .dc-go{color:var(--gold-bright)}

/* faixa de domínio no dashboard */
.dom{
  margin:0 0 54px;
}
.dom:last-child{margin-bottom:0}

/* ==========================================================================
   4. BASE DE EVIDÊNCIAS — cartões de acervo
   ========================================================================== */

.evgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}

.evcard{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--navy-card-2);
  text-decoration:none;
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.evcard:hover{border-color:var(--line-soft);transform:translateY(-2px)}
.evcard .ec-k{
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-deep);
}
.evcard h3{
  margin:0;
  font-family:var(--serif);
  font-size:19px;
  font-weight:500;
  color:var(--white);
}
.evcard p{
  margin:0;
  font-size:13px;
  line-height:1.58;
  color:var(--text);
}

/* trilha de rastreabilidade: origem → destino */
.trace{
  margin:10px 0 0;
  padding:12px 14px;
  border-left:2px solid var(--line);
  background:rgba(16,35,55,.5);
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.06em;
  line-height:1.9;
  color:var(--mute);
}
.trace b{color:var(--sub);font-weight:400}

/* rastreabilidade da página executiva → Base de Evidências */
.rast{
  display:grid;
  gap:9px;
}
.rast a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-left:2px solid var(--gold-deep);
  border-radius:var(--radius);
  background:var(--navy-card-2);
  text-decoration:none;
  transition:border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease);
}
.rast a:hover{
  border-color:var(--line-soft);
  border-left-color:var(--gold);
  background:var(--navy-card);
  transform:translateX(2px);
}
.rast .r-t{
  font-size:13.5px;
  line-height:1.5;
  color:var(--white);
}
.rast .r-t i{
  display:block;
  font-style:normal;
  font-size:12.5px;
  color:var(--sub);
  margin-top:2px;
}
.rast .r-s{
  flex:0 0 auto;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gold-deep);
  white-space:nowrap;
}
.rast a:hover .r-s{color:var(--gold-bright)}

@media (max-width:600px){
  .rast a{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ==========================================================================
   5. CENTRAL DE PRIORIDADES ESTRATÉGICAS — estrutura (Sprint 1: sem dados)
   ========================================================================== */

.pr-legend{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
  margin:0 0 26px;
}
.pr-lg{
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--navy-card-2);
}
.pr-lg .mt{margin-bottom:8px}
.pr-lg p{
  margin:0;
  font-size:12.5px;
  line-height:1.55;
  color:var(--sub);
}

.pr-schema{
  width:100%;
  border-collapse:collapse;
}
.pr-schema th,
.pr-schema td{
  padding:11px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.pr-schema th{
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-deep);
  white-space:nowrap;
}
.pr-schema td{
  font-size:13.5px;
  line-height:1.55;
  color:var(--text);
}
.pr-schema td:first-child{
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--white);
  white-space:nowrap;
}

.pr-empty{
  margin:0;
  padding:44px 28px;
  border:1px dashed var(--line);
  border-radius:var(--radius);
  background:rgba(14,31,47,.45);
  text-align:center;
}
.pr-empty .pe-i{
  display:block;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:12px;
}
.pr-empty h3{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:23px;
  font-weight:500;
  color:var(--white);
}
.pr-empty p{
  margin:0 auto;
  max-width:56ch;
  font-size:14px;
  line-height:1.65;
  color:var(--sub);
}

/* ==========================================================================
   6. AJUSTES DE ANCORAGEM E RESPONSIVIDADE
   ========================================================================== */

/* com duas barras fixas (64px + 44px) as âncoras precisam de folga */
[id]{scroll-margin-top:126px}

@media (max-width:980px){
  .gnav-meta .crumb{display:none}
}

@media (max-width:720px){
  .gnav-in{height:auto;padding:8px 0;gap:10px;align-items:flex-start;flex-direction:column}
  .gnav-links{width:100%;padding-bottom:2px}
  .gnav-meta{width:100%;justify-content:flex-start}
  .gnav{top:0;position:static}
  [id]{scroll-margin-top:78px}
  .domh{flex-wrap:wrap;gap:8px}
  .domh .dh-l{display:none}
  .dgrid,.dgrid.d2,.evgrid{grid-template-columns:1fr}
  .dcard{padding:18px}
}

/* impressão: a navegação de plataforma não integra o documento impresso */
@media print{
  .gnav{display:none}
  .dcard,.evcard{break-inside:avoid}
}
