/* ═══ FORMATIVE — config modal & ficha extras ═══ */

.fm-cfg-intro{
  background:linear-gradient(135deg, rgba(255,193,7,0.08), rgba(0,200,150,0.06));
  border:1px solid rgba(255,193,7,0.25);
  padding:12px 14px; border-radius:10px; margin-bottom:14px;
  font-size:0.82rem; line-height:1.55; color:var(--ink);
}
.fm-section-title{
  font-weight:900; color:var(--gold); margin:18px 0 8px;
  font-size:0.85rem; text-transform:uppercase; letter-spacing:0.5px;
  border-bottom:1px solid rgba(255,255,255,0.08); padding-bottom:6px;
}
.fm-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fm-hint{ font-size:0.7rem; color:var(--muted2); margin-top:4px; line-height:1.4; }

.fm-types-wrap{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px; overflow:hidden; margin-top:6px;
}
.fm-type-head{
  display:grid; grid-template-columns:1fr 110px 1.2fr;
  background:var(--bg2); padding:8px 12px; gap:10px;
  font-size:0.72rem; font-weight:800; color:var(--muted);
  text-transform:uppercase; letter-spacing:0.5px;
}
.fm-type-row{
  display:grid; grid-template-columns:1fr 110px 1.2fr; gap:10px;
  align-items:center; padding:8px 12px;
  border-top:1px solid rgba(255,255,255,0.05);
}
.fm-type-label{ font-weight:700; color:var(--ink); font-size:0.85rem; }
.fm-type-input{ width:100%; text-align:center; font-weight:800; }
.fm-type-hint{ font-size:0.74rem; font-weight:700; }

.fm-warn{ margin:10px 0 6px; font-size:0.8rem; font-weight:700; text-align:center; }

/* ═══ Ficha Formativa — colunas adicionais e modo resumo ═══ */
.fm-col-comp{ text-align:center; min-width:90px; }
.fm-col-nota{
  text-align:center; min-width:80px; font-weight:900; font-size:1.05rem;
  background:linear-gradient(135deg, rgba(255,193,7,0.10), rgba(0,200,150,0.08));
}
.fm-nota-badge{
  display:inline-block; padding:4px 10px; border-radius:8px;
  font-weight:900; font-size:0.95rem;
  background:var(--gold); color:#000;
}
.fm-nota-badge.bad{ background:var(--red); color:#fff; }
.fm-nota-badge.warn{ background:var(--orange); color:#000; }
.fm-nota-badge.ok{ background:var(--green); color:#000; }
.fm-nota-badge.great{ background:linear-gradient(135deg, var(--gold), var(--teal)); color:#000; }

.fm-comp-pos{ color:var(--green); font-weight:800; }
.fm-comp-neg{ color:var(--red); font-weight:800; }
.fm-comp-zero{ color:var(--muted); }

.fm-mode-toggle{
  display:inline-flex; gap:0; border:1px solid rgba(255,255,255,0.12);
  border-radius:8px; overflow:hidden;
}
.fm-mode-toggle button{
  background:transparent; color:var(--muted); border:0; padding:6px 14px;
  font-size:0.78rem; font-weight:800; cursor:pointer; transition:all .2s;
}
.fm-mode-toggle button.active{ background:var(--gold); color:#000; }
.fm-mode-toggle button:not(.active):hover{ background:rgba(255,255,255,0.05); color:var(--ink); }

/* Modo Resumido — tabela compacta */
.fm-resumo-table{ width:100%; border-collapse:collapse; }
.fm-resumo-table th, .fm-resumo-table td{
  padding:10px 12px; text-align:left;
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.fm-resumo-table th{
  background:var(--bg2); font-size:0.72rem; font-weight:800;
  text-transform:uppercase; letter-spacing:0.5px; color:var(--muted);
}
.fm-resumo-table tr:hover{ background:rgba(255,255,255,0.02); }
.fm-resumo-table .fm-r-aluno{ font-weight:800; }
.fm-resumo-table .fm-r-aluno small{
  display:block; font-size:0.7rem; color:var(--muted2); font-weight:600; margin-top:2px;
}
.fm-r-bars{ display:flex; gap:4px; align-items:center; }
.fm-r-bar{
  height:8px; border-radius:4px; background:rgba(255,255,255,0.06);
  overflow:hidden; min-width:60px; flex:1; max-width:120px;
}
.fm-r-bar > span{ display:block; height:100%; transition:width .3s; }
.fm-r-bar > span.fill-miss{ background:linear-gradient(90deg,var(--teal),var(--green)); }
.fm-r-bar > span.fill-comp{ background:linear-gradient(90deg,var(--purple),var(--gold)); }
.fm-r-val{ font-size:0.7rem; color:var(--muted); font-weight:700; min-width:38px; text-align:right; }

.fm-ocorr-mini{ display:inline-flex; gap:6px; flex-wrap:wrap; }
.fm-ocorr-chip{
  display:inline-flex; align-items:center; gap:3px;
  padding:2px 6px; border-radius:6px; font-size:0.7rem; font-weight:700;
  background:rgba(255,255,255,0.06); color:var(--muted);
}
.fm-ocorr-chip.pos{ background:rgba(0,200,150,0.15); color:var(--green); }
.fm-ocorr-chip.neg{ background:rgba(255,80,80,0.15); color:var(--red); }

/* ═══ Toolbar da Ficha Formativa ═══ */
.fm-toolbar{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:12px; flex-wrap:wrap; gap:10px;
}
.fm-toolbar .fm-left{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

@media (max-width:700px){
  .fm-grid-2{ grid-template-columns:1fr; }
  .fm-type-head, .fm-type-row{
    grid-template-columns:1.4fr 90px 1fr;
    font-size:0.75rem;
  }
}
