/* ==========================================================
   TRAZER ALUNOS e CONVITE EM MASSA (trazer.js)
   Celular primeiro: os dois botões empilham; no computador ficam lado a lado.
   ========================================================== */
.mt-botoes{display:flex;flex-direction:column;gap:8px}
@media (min-width:640px){ .mt-botoes{flex-direction:row} }

/* janela */
.tz-arquivo{position:relative;min-height:44px;cursor:pointer;width:100%}
.tz-li{font-size:13px;color:var(--suave)}
.tz-li b{color:var(--texto)}
.tz-ruim{color:var(--atraso);font-weight:600}
.mt-corpo textarea#tz-texto{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;white-space:pre;overflow-x:auto}
.tz-par{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.tz-par .campo{margin:0}
.tz-par select{width:100%;min-height:44px}
.tz-par-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.tz-par-top b{min-width:0;overflow-wrap:anywhere}
.tz-par .marcador{align-self:flex-start;flex:none}
.tz-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tz-tile{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--r);padding:10px 12px}
.tz-tile b{display:block;font-family:var(--display);font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.tz-tile span{font-size:12.5px;color:var(--suave)}
.tz-tile.ok b{color:var(--ok)}
.tz-tile.azul b{color:var(--marca)}
.tz-tile.pe b{color:var(--atraso)}
.tz-conferi{border-color:var(--marca);background:var(--marca-fraca)}
.mt-check .marcador{vertical-align:middle}

/* lista de Alunos com caixinhas */
.cv-topo{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.cv-filtros{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.cv-filtros button{flex:none;min-height:38px;border-radius:99px;border:1px solid var(--linha-forte);background:var(--superficie);
  padding:4px 12px;font:inherit;font-size:13px;font-weight:600;color:var(--suave);cursor:pointer}
.cv-filtros button span{font-variant-numeric:tabular-nums;opacity:.8}
.cv-filtros button[aria-pressed="true"]{background:var(--texto);border-color:var(--texto);color:var(--bg)}
.cv-todos{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;cursor:pointer;padding:0 17px;min-height:36px}
.cv-todos input,.cv-cx input{width:20px;height:20px;accent-color:var(--marca);cursor:pointer}
.cv-topo + .al-lista{margin-top:8px}
/* a barra do convite não pode cobrir o último aluno */
.al-lista.cv-com{margin-bottom:96px}

.al-lista.cv-com .al-i{grid-template-columns:auto 1.3fr 1fr 1.1fr auto}
.cv-cx{display:flex;align-items:center;justify-content:center;width:36px;height:44px;margin:-10px -6px -10px -10px;cursor:pointer}
.al-i.cv-marcado{background:var(--marca-fraca)}
.al-i.cv-fora{display:none}
.cv-ac{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;font-size:12px;font-weight:600}
.cv-ac em{font-style:normal;font-weight:400;color:var(--suave)}
.cv-ponto{width:8px;height:8px;border-radius:50%;flex:none;background:var(--suave)}
.cv-ponto.ok{background:var(--ok)}
.cv-ponto.ambar{background:var(--marca)}
.cv-ponto.vermelho{background:var(--atraso)}
.cv-vazio{margin:0;padding:22px 16px;text-align:center;color:var(--suave);font-size:14px}

@media (max-width:760px){
  .al-lista.cv-com .al-i{grid-template-columns:auto 1fr auto}
  .al-lista.cv-com .al-p,.al-lista.cv-com .al-s{grid-column:2 / -1}
  .al-lista.cv-com .al-seta{grid-column:3;grid-row:1}
  .al-lista.cv-com .cv-cx{grid-row:1 / span 3;align-self:start;margin-top:-6px}
}

/* barra fixa: só aparece com alguém marcado */
.cv-fixo{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--superficie);border-top:1px solid var(--linha);
  box-shadow:var(--sombra);padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.cv-fixo.sobre-abas{padding-bottom:10px}
.cv-fixo-in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:12px}
.cv-fixo-t{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px}
.cv-limpar{align-self:flex-start;background:none;border:none;padding:2px 0;color:var(--marca);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.cv-fixo .btn{min-height:48px;flex:none}
