/* Override index.inline.css: mostrar footer na biblioteca */
body.biblioteca-page .legal-footer { display: flex !important; }

/* Variáveis e estilos específicos da biblioteca */
:root {
  --panel-bg: #ffffff;
  --panel-border: #d9e2f2;
  --accent: #0d6efd;
}
.page-shell { max-width: 1280px; }
.panel {
  background: var(--panel-bg); border: 1px solid var(--panel-border);
  border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}
.filters { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: .75rem; }
.select-cell { text-align: center; vertical-align: middle; width: 42px; }
.phrase-cell { min-width: 320px; }
.playlist-fab {
  position: fixed; right: 30px; bottom: 80px; z-index: 2100;
  display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 16px;
  background: rgba(255, 255, 255, 0.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: 0 10px 24px rgba(13, 110, 253, .25);
}
@media (min-width: 48rem) {
  .playlist-fab { right: calc(var(--accessibility-toggle-rail-width, 4.8rem) + 1rem); }
}
.dataTables_wrapper .dataTables_filter input { min-width: 260px; }
@media (max-width: 768px) {
  .filters { grid-template-columns: 1fr; }
  .dataTables_wrapper .dataTables_filter input { min-width: 0; width: 100%; }
  .playlist-fab { left: 30px; right: 30px; bottom: 80px; width: auto; }
}
.discipline-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.55rem; border-radius: 999px; font-weight: 600; border: 1px solid transparent; }
.discipline-portugues { color: #0b5ed7; background: #e7f1ff; border-color: #b6d4fe; }
.discipline-matematica { color: #b02a37; background: #f8d7da; border-color: #f1aeb5; }
.discipline-ciencias { color: #146c43; background: #d1e7dd; border-color: #a3cfbb; }
.discipline-cidadania { color: #9a3412; background: #ffedd5; border-color: #fdba74; }
.discipline-default { color: #1f2937; background: #eef2f7; border-color: #d9e2f2; }
.export-label { display: inline-flex; align-items: center; gap: .45rem; }
.export-icon { width: 1rem; height: 1rem; display: inline-block; border: 2px solid currentColor; border-radius: .2rem; position: relative; flex: 0 0 auto; }
.embed-preview-frame { border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.export-icon.excel::before, .export-icon.excel::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to right, currentColor 0 2px, transparent 2px 50%, currentColor 50% calc(50% + 2px), transparent calc(50% + 2px) 100%),
    linear-gradient(to bottom, currentColor 0 2px, transparent 2px 50%, currentColor 50% calc(50% + 2px), transparent calc(50% + 2px) 100%);
  opacity: .75;
}
.export-icon.pdf::before {
  content: ""; position: absolute; width: .42rem; height: .42rem; right: -2px; top: -2px;
  background: currentColor; clip-path: polygon(0 0, 100% 0, 100% 100%); opacity: .75;
}
.legal-footer { border-top: 1px solid #d9e2f2; margin-top: 1rem; padding-top: .5rem; padding-bottom: .25rem; display: flex; align-items: center; justify-content: center; }
.legal-links { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: center; font-size: .92rem; }
.legal-links a { color: #4b5563; text-decoration: underline; }
