/* ==========================================================================
   ARQUIVO: materiais.css (ALINHAMENTO EM COLUNAS DUPLAS + FONTE AUMENTADA SEM NEGRITO)
   ========================================================================== */

/* Header / Card Informativo da Página de Materiais */
.materiais-header {
  background: var(--glass-effect);
  backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(232, 163, 2, 0.4);
  border-radius: var(--radius-lg);
  padding: 30px 20px;
  margin-bottom: 22px;
  box-shadow: var(--glass-border-light);
}

/* Acordeões de Turmas / Listas */
.accordion-item {
  background: var(--glass-effect) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  border: var(--glass-border) !important;
  border-radius: 18px !important;
  margin-bottom: 14px !important;
  overflow: hidden !important;
  transition: var(--transition-bounce) !important;
  box-shadow: var(--glass-border-light) !important;
}

.accordion-item:hover {
  border-color: rgba(232, 163, 2, 0.4) !important;
}

.accordion-trigger {
  width: 100% !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  color: var(--text-white) !important;
  padding: 16px 22px !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  border-radius: 18px !important;
}

.chevron-icon {
  width: 9px;
  height: 9px;
  border-right: 2.5px solid var(--accent-gold);
  border-bottom: 2.5px solid var(--accent-gold);
  transform: rotate(45deg);
  transition: var(--transition-bounce);
}

.accordion-item.open .chevron-icon {
  transform: rotate(-135deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.accordion-body {
  padding: 8px 20px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* Tabela de Itens de Materiais na Tela */
.table-materials {
  width: 100% !important;
  margin-bottom: 18px;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}

.table-materials th {
  display: none !important;
}

.table-materials tbody {
  display: block !important;
  width: 100% !important;
}

.table-materials tbody tr {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 50px !important;
  padding: 8px 18px !important;
  margin-bottom: 8px !important;
  transition: var(--transition-bounce) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Efeito Listrado no Site */
.table-materials tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.065) !important;
}

.table-materials tbody tr:hover {
  border-color: rgba(232, 163, 2, 0.5) !important;
  background: rgba(232, 163, 2, 0.12) !important;
  transform: translateX(4px);
  box-shadow: 0 5px 15px rgba(232, 163, 2, 0.2);
}

.table-materials td {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
}

.table-materials td:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.table-materials td:last-child {
  flex: 0 0 auto !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.material-pill-name {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--text-white) !important;
  font-size: 0.90rem !important;
  font-weight: 600 !important;
  padding: 0 !important;
  word-break: break-word !important;
}

/* PÍLULA NO SITE COM COLUNA DE NÚMERO E COLUNA DE UNIDADE */
.material-pill-qty {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(232, 163, 2, 0.12) !important;
  border: 1px solid rgba(232, 163, 2, 0.4) !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  width: 145px !important;
  min-width: 145px !important;
  max-width: 145px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  white-space: nowrap !important;
}

.material-pill-qty .pill-num {
  width: 28px !important;
  text-align: right !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: #ffffff !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
}

.material-pill-qty .pill-unit {
  flex: 1 !important;
  text-align: left !important;
  font-weight: 400 !important;
  font-size: 0.82rem !important;
  color: var(--accent-orange) !important;
  box-sizing: border-box !important;
}

/* Caixa de Observações */
.obs-box {
  background: rgba(247, 148, 29, 0.08);
  border-left: 4px solid var(--accent-orange);
  padding: 16px;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.55;
  white-space: pre-line;
}

.obs-box h5 {
  color: var(--accent-orange);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 0.92rem;
}

/* Botão de Impressão */
.btn-print {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #fff !important;
  font-weight: 800;
  border: none;
  padding: 8px 18px;
  border-radius: var(--radius-pill);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: var(--transition-bounce);
  font-size: 0.80rem;
  margin-bottom: 15px;
  float: right;
  box-shadow: 0 3px 12px rgba(16, 185, 129, 0.3);
}

.btn-print:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 18px rgba(16, 185, 129, 0.5);
}

#print-sheet {
  display: none;
}

/* ==========================================================================
   CSS EXCLUSIVO DE IMPRESSÃO (GRID CENTRALIZADO, FONTE MAIOR E SEM NEGRITO)
   ========================================================================== */
@media print {
  @page {
    size: A4 portrait;
    margin: 0.8cm 1.4cm !important;
  }

  header,
  footer,
  nav,
  .no-print,
  .filter-tabs,
  .btn,
  .btn-print,
  .chevron-icon,
  .accordion-trigger,
  .materiais-header,
  .accordion-container,
  #az,
  #conquista,
  #escolar-manager,
  #whatsapp {
    display: none !important;
  }

  html,
  body {
    display: block !important;
    background: #fff !important;
    color: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 8.5pt !important;
  }

  #print-sheet {
    display: block !important;
    background: #fff !important;
    color: #111 !important;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased;
  }

  .print-header {
    text-align: center;
    border-bottom: 1.5px solid #000;
    padding-bottom: 3px !important;
    margin-bottom: 6px !important;
  }

  .print-logo {
    display: block !important;
    max-height: 32px !important;
    width: auto !important;
    margin: 0 auto 3px auto !important;
  }

  .print-header h1 {
    font-size: 10pt !important;
    font-weight: 800 !important;
    letter-spacing: -0.2px;
    margin: 1px 0 !important;
    color: #000 !important;
    line-height: 1.1 !important;
  }

  .print-header p {
    font-size: 7.2pt !important;
    margin: 0 !important;
    color: #333 !important;
    line-height: 1.15 !important;
  }

  .print-title {
    text-align: center;
    font-size: 8.5pt !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    margin-bottom: 6px !important;
    background: #e0e0e0 !important;
    padding: 3px 6px !important;
    border: 1px solid #000;
    letter-spacing: 0.6px;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 6px !important;
  }

  .print-table th,
  .print-table td {
    border: 1px solid #333 !important;
    padding: 3px 6px !important;
    font-size: 8.5pt !important;
    color: #000 !important;
    text-align: left;
    line-height: 1.2 !important;
  }

  .print-table th {
    background: #d8d8d8 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    font-size: 8pt !important;
    letter-spacing: 0.3px;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-table tbody tr:nth-child(even) td {
    background-color: #95a0e7 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-table tbody tr:nth-child(odd) td {
    background-color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-table td:first-child {
    font-size: 8.5pt !important;
    vertical-align: middle;
  }

  .print-table td:nth-child(2) {
    white-space: nowrap;
    text-align: center;
    padding: 2px 4px !important;
  }

  /* WRAPPER CENTRALIZADO COM DUAS SUBCOLUNAS NA IMPRESSÃO */
  .print-qtd-grid {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 110px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* SUBCOLUNA 1: NÚMEROS (ALINHADOS À DIREITA ENTRE SI, SEM NEGRITO) */
  .print-num-col {
    display: inline-block !important;
    width: 28px !important;
    text-align: right !important;
    padding-right: 8px !important;
    font-weight: 500 !important;
    /* Sem negrito pesado */
    font-size: 9.2pt !important;
    /* Fonte aumentada e bem legível */
    box-sizing: border-box !important;
  }

  /* SUBCOLUNA 2: UNIDADES (ALINHADAS À ESQUERDA ENTRE SI, SEM NEGRITO) */
  .print-unit-col {
    display: inline-block !important;
    flex: 1 !important;
    text-align: left !important;
    font-weight: 400 !important;
    /* Sem negrito */
    font-size: 8.5pt !important;
    /* Fonte aumentada */
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  .print-table td:nth-child(3) {
    white-space: nowrap;
    font-size: 8.5pt !important;
    text-align: center;
    color: #444;
  }

  .print-obs {
    border: 1px solid #000;
    padding: 5px 8px !important;
    background: #f8f8f8 !important;
    font-size: 7pt !important;
    line-height: 1.2 !important;
    page-break-inside: avoid;
    font-weight: 500;
    margin-top: 4px;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-obs h5 {
    font-weight: 800 !important;
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    text-transform: uppercase;
    font-size: 8pt !important;
    color: #000 !important;
  }
}

/* ==========================================================================
   PAINEL DISCRETO DE IMPRESSÃO EM LOTE (COORDENAÇÃO)
   ========================================================================== */
.coordenacao-print-bar {
  opacity: 0.28;
  transition: opacity 0.3s ease, transform 0.3s ease;
  margin: 10px auto 20px auto;
  text-align: center;
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 30px;
  max-width: fit-content;
  border: 1px dashed rgba(255, 255, 255, 0.15);
}

.coordenacao-print-bar:hover,
.coordenacao-print-bar:focus-within {
  opacity: 1;
  border-color: rgba(232, 163, 2, 0.4);
  background: rgba(0, 0, 0, 0.5);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.btn-coordenacao-print {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #adb5bd;
  font-size: 0.73rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0 3px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.btn-coordenacao-print:hover {
  background: rgba(232, 163, 2, 0.18);
  border-color: rgba(232, 163, 2, 0.6);
  color: #f7a81d;
  transform: translateY(-1px);
}

/* ==========================================================================
   QUEBRA DE PÁGINA PARA IMPRESSÃO EM LOTE
   ========================================================================== */
@media print {
  .print-turma-page {
    page-break-after: always !important;
    break-after: page !important;
    display: block !important;
    margin-bottom: 0 !important;
  }

  .print-turma-page:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }
}