/* Biblioteca: Painel de conteúdo do time (assets/js/biblioteca.js), só para os perfis Professor e Administrador.
   Barra do topo (contadores, Novo item, Exportar, Voltar ao original), ferramentas e selos em cada cartão, editor em diálogo.
   Só tokens de tokens.css (letra: 16 texto, 15 botões, 14 metadados e selos, 13 rótulos em maiúsculas), claro e escuro
   pelos mesmos tokens. Mobile first; sem rolagem lateral em 390 px. */

/* ---------- Barra do painel ---------- */
.bib-painel{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border-top:4px solid var(--orange);padding:var(--space-4);display:grid;gap:var(--space-4);min-width:0}
.bib-painel-topo{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3) var(--space-4);min-width:0}
.bib-painel-txt{display:grid;gap:.3rem;flex:1 1 320px;min-width:0}
.bib-painel h2{font-size:var(--fs-h2);color:var(--heading-on-surface)}
.bib-painel-intro{color:var(--muted);max-width:75ch}
.bib-painel-btns{display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0}
.bib-painel-btns .btn{font-size:var(--fs-small)}
.bib-painel .btn:disabled{opacity:.5;cursor:not-allowed;filter:none}
.bib-contadores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0}
@media (min-width:720px){.bib-contadores{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Número em cima e rótulo embaixo, sem mudar a ordem de leitura (dt antes do dd) */
.bib-contadores > div{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-end;gap:.15rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--r-md);text-align:center;min-width:0}
.bib-contadores dt{color:var(--muted);font-size:var(--fs-meta);overflow-wrap:anywhere}
.bib-contadores dd{margin:0;font-size:var(--fs-h2);font-weight:var(--fw-black);color:var(--heading-on-surface);font-variant-numeric:tabular-nums;line-height:1.1}
.bib-aviso{padding:.6rem .8rem;border-left:4px solid var(--orange-deep);background:var(--bg);border-radius:var(--r-sm);font-size:var(--fs-small)}

/* ---------- No cartão: pontos-chave, materiais de apoio, selos do time e ferramentas ---------- */
.bib-pontos{margin:0;padding-left:1.2rem;display:grid;gap:.2rem}
.bib-pontos li{overflow-wrap:anywhere}
.bib-apoio{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;font-size:var(--fs-meta);min-width:0}
.bib-apoio-rot,.bib-rot{font-size:var(--fs-label);font-weight:var(--fw-black);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}
.bib-apoio ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem .8rem;min-width:0}
.bib-apoio a{font-weight:var(--fw-semibold);overflow-wrap:anywhere}
.bib-status{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.4rem;min-width:0}
.bib-selo{display:inline-flex;align-items:center;font-size:var(--fs-meta);font-weight:700;padding:.15rem .6rem;border-radius:var(--r-pill);border:1px solid transparent}
.bib-selo.editado,.bib-selo.texto{background:var(--ok-bg);color:var(--ok)}
.bib-selo.criado{background:var(--cream-2);color:var(--navy-deep)}
.bib-selo.oculto{background:var(--erro-bg);color:var(--erro)}
.bib-selo.revisao{border-color:var(--line);color:var(--muted);font-variant-numeric:tabular-nums}
.bib-selo.revisao.completa{border-color:var(--ok);color:var(--ok)}
.bib-ferramentas{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.6rem;border-top:1px dashed var(--line);min-width:0}
.bib-ferramentas .bib-rot{margin-right:.2rem}
.pillbtn.bib-seta{min-width:40px;justify-content:center;padding-inline:.5rem}
.pillbtn.bib-perigo{background:var(--erro-bg);color:var(--erro)}
.pillbtn:disabled{opacity:.4;cursor:default;filter:none}
/* Oculto: o time vê o cartão apagado, com o selo; o aluno nem recebe o cartão (sai do feed) */
.post.bib-oculto{outline:2px dashed var(--orange-deep);outline-offset:-2px}
.post.bib-oculto > :not(.bib-ferramentas):not(.bib-status){opacity:.5}
/* O "Remover" dos materiais de membro fica na linha de ferramentas do time (sem botão repetido) */
.mod-acoes [data-remover]{display:none}

/* ---------- Editor (diálogo) ---------- */
/* Com o zoom-out do site (--zoom), vw e dvh encolhem junto: dividir por --zoom devolve a tela inteira */
.bib-editor{width:min(780px,calc(100vw / var(--zoom) - 2 * var(--gutter)));max-width:none;max-height:calc(100dvh / var(--zoom) - 2rem);padding:0;border:0;border-radius:var(--r-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow);overflow:auto;overscroll-behavior:contain}
.bib-editor::backdrop{background:rgba(11,27,46,.6)}
.bib-editor-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--line)}
.bib-editor-txt{display:grid;gap:.25rem;min-width:0}
.bib-editor h2{font-size:var(--fs-h2);color:var(--heading-on-surface)}
.bib-editor-dica{color:var(--muted);font-size:var(--fs-meta)}
.bib-fechar{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-2);color:var(--fg);font-size:var(--fs-body);font-weight:var(--fw-black)}
.bib-fechar:hover{filter:brightness(.95)}
.bib-editor-corpo{padding:var(--space-4)}
.bib-editor .campo{align-content:start}
.bib-editor-pe{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border-top:1px solid var(--line)}
.bib-editor-pe .btns{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}
.bib-dica{font-size:var(--fs-meta);font-weight:var(--fw-regular);color:var(--muted)}
.bib-apoio-campo{display:grid;gap:.6rem}
.bib-apoio-campo > .pillbtn{justify-self:start}
.bib-apoio-lista{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);min-width:0}
.bib-apoio-linha{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--r-md);min-width:0}
@media (min-width:720px){.bib-apoio-linha{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end}}
.bib-apoio-btns{display:flex;flex-wrap:wrap;gap:.4rem}
