/* ==========================================================================
   Solfa Composer - Folha de Impressão e Exportação PDF (A4)
   ========================================================================== */

/* Layout Preparatório para Ancoragem Precisa das Ligaduras na Impressão */
body.print-active-layout .app-wrapper,
body.print-active-layout .main-workspace,
body.print-active-layout .workspace-layout,
body.print-active-layout .score-scroll-area,
body.print-active-layout #scorePaperWrapper,
body.print-active-layout .score-paper-wrapper {
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  transform: none !important;
  max-width: 100% !important;
  width: 100% !important;
  background: #ffffff !important;
}

body.print-active-layout .score-paper,
body.print-active-layout .score-page {
  width: 186mm !important;
  max-width: 186mm !important;
  min-width: 186mm !important;
  padding: 0 !important;
  margin: 0 auto !important;
  box-shadow: none !important;
  border: none !important;
  background: #ffffff !important;
  break-after: page !important;
  page-break-after: always !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-active-layout .score-page:last-child {
  break-after: auto !important;
  page-break-after: auto !important;
}

body.print-active-layout .solfa-system {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: flex-start !important;
  position: relative !important;
  margin-bottom: var(--system-spacing, 16px) !important;
  overflow: visible !important;
}

body.print-active-layout .voice-labels-col {
  min-width: 28px !important;
  max-width: 34px !important;
  width: 30px !important;
  padding-right: 4px !important;
  border-right: 1.5pt solid #000000 !important;
  margin-top: 18px !important;
  user-select: none !important;
  flex-shrink: 0 !important;
}

body.print-active-layout .voice-label-cell {
  height: var(--solfa-row-height, 30px) !important;
  justify-content: flex-end !important;
  display: flex !important;
  align-items: center !important;
  padding-right: 4px !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
}

body.print-active-layout .voice-label-cell.label-lyrics {
  height: var(--lyrics-row-height, 22px) !important;
  font-size: 0.62rem !important;
  font-style: italic !important;
}

body.print-active-layout .solfa-measures-row {
  display: flex !important;
  align-items: flex-start !important;
  width: calc(186mm - 30px) !important;
  flex: 1 1 auto !important;
  gap: 0 !important;
}

body.print-active-layout .solfa-measure {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

body.print-active-layout .measure-header {
  height: 18px !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 2px !important;
}

body.print-active-layout .measure-toolbar,
body.print-active-layout .measure-btn-mini,
body.print-active-layout .system-break-indicator,
body.print-active-layout .add-measure-trigger,
body.print-active-layout .cell-inline-input {
  display: none !important;
}

body.print-active-layout .measure-grid {
  display: flex !important;
  align-items: stretch !important;
  border-right: none !important;
  background: transparent !important;
  width: 100% !important;
}

body.print-active-layout .solfa-measure:first-child .measure-grid {
  border-left: none !important;
}

/* Densidades de tempo proporcionais idênticas a @media print */
body.print-active-layout .solfa-beat-col {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

body.print-active-layout .solfa-beat-col.density-0 {
  flex: 0.6 1 0 !important;
  min-width: 12px !important;
}
body.print-active-layout .solfa-beat-col.density-1 {
  flex: 1.0 1 0 !important;
  min-width: 18px !important;
}
body.print-active-layout .solfa-beat-col.density-2 {
  flex: 1.6 1 0 !important;
  min-width: 28px !important;
}
body.print-active-layout .solfa-beat-col.density-3 {
  flex: 2.2 1 0 !important;
  min-width: 38px !important;
}
body.print-active-layout .solfa-beat-col.density-4 {
  flex: 2.9 1 0 !important;
  min-width: 50px !important;
}

/* Divisor de tempo */
body.print-active-layout .pulse-divider-col {
  width: 9px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-around !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

body.print-active-layout .pulse-divider-dot {
  color: #000000 !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  height: var(--solfa-row-height, 30px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.print-active-layout .pulse-divider-dot.dot-lyrics {
  visibility: hidden !important;
  height: var(--lyrics-row-height, 22px) !important;
}

body.print-active-layout .pulse-divider-col.is-half-bar {
  width: 9px !important;
}

body.print-active-layout .pulse-divider-dot.dot-half-bar .half-bar-stroke {
  display: block !important;
  width: 1.5px !important;
  height: calc(var(--solfa-row-height, 30px) * 0.72) !important;
  min-height: 18px !important;
  max-height: 24px !important;
  background-color: #000000 !important;
  border-radius: 0.5px !important;
}

/* Células e fontes */
body.print-active-layout .solfa-cell {
  height: var(--solfa-row-height, 30px) !important;
  font-family: var(--solfa-font-family, var(--font-music)) !important;
  font-size: var(--solfa-font-size, 1.25rem) !important;
  font-weight: var(--solfa-font-weight, 600) !important;
  padding: 1px 2px !important;
  white-space: nowrap !important;
  border-bottom: none !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.print-active-layout .solfa-cell.cell-lyrics {
  height: var(--lyrics-row-height, 22px) !important;
  font-family: var(--lyrics-font-family, var(--font-music)) !important;
  font-size: var(--lyrics-font-size, 0.95rem) !important;
  font-style: var(--lyrics-font-style, italic) !important;
  font-weight: var(--lyrics-font-weight, 400) !important;
  border-bottom: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.print-active-layout .solfa-cell .note-part,
body.print-active-layout .solfa-cell .lyric-subcell {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: none !important;
  background: transparent !important;
  white-space: nowrap !important;
}

body.print-active-layout .lyric-subcell.single-syl {
  width: 100% !important;
}

body.print-active-layout .lyric-subcell.lyric-rest,
body.print-active-layout .lyric-subcell.lyric-placeholder,
body.print-active-layout .lyric-subcell-sep {
  visibility: hidden !important;
}

body.print-active-layout .btn-add-system-lyrics,
body.print-active-layout .btn-hide-system-lyrics {
  display: none !important;
}

body.print-active-layout .solfa-cell.selected {
  background-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

body.print-active-layout .solfa-cell.selected::after,
body.print-active-layout .note-part.active-subnote::after,
body.print-active-layout .lyric-subcell.active-sublyric::after {
  display: none !important;
}

/* Barras de compasso */
body.print-active-layout .measure-barline {
  display: inline-flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  position: relative !important;
  gap: 2.5pt !important;
  padding: 0 1pt !important;
  min-width: 5pt !important;
  flex-shrink: 0 !important;
}
body.print-active-layout .measure-barline .bar-stroke {
  display: block !important;
  height: 100% !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  background-color: #000000 !important;
}
body.print-active-layout .measure-barline .stroke-thin {
  width: 1.2pt !important;
  min-width: 1.2pt !important;
  background-color: #000000 !important;
  border-left: 1.2pt solid #000000 !important;
}
body.print-active-layout .measure-barline .stroke-thick {
  width: 3.5pt !important;
  min-width: 3.5pt !important;
  background-color: #000000 !important;
  border-left: 3.5pt solid #000000 !important;
}
body.print-active-layout .measure-barline.bar-type-double,
body.print-active-layout .measure-barline.bar-type-final {
  gap: 2.8pt !important;
}
body.print-active-layout .measure-barline.bar-type-double .stroke-thin {
  width: 1.2pt !important;
  min-width: 1.2pt !important;
  background-color: #000000 !important;
  border-left: 1.2pt solid #000000 !important;
}

/* Partes de notas, traços e pausas */
body.print-active-layout .note-sep.note-dot,
body.print-active-layout .note-sep.note-dotcomma,
body.print-active-layout .note-sep.note-commadot {
  margin: 0 2px !important;
}
body.print-active-layout .note-sep.note-comma {
  margin: 0 1.5px !important;
}
body.print-active-layout .note-dash.note-dash-full {
  min-width: 18px !important;
  letter-spacing: 2px !important;
}
body.print-active-layout .note-dash.note-dash-sub {
  width: 10px !important;
  max-width: 12px !important;
}
body.print-active-layout .note-part.note-rest-half {
  min-width: 10px !important;
  width: 10px !important;
}
body.print-active-layout .note-part.note-rest-dotted {
  min-width: 16px !important;
  width: 16px !important;
}
body.print-active-layout .note-part.note-rest-quarter {
  min-width: 7px !important;
  width: 7px !important;
}

/* Ligaduras SVG */
body.print-active-layout .system-slurs-svg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  z-index: 10 !important;
  pointer-events: none !important;
}
body.print-active-layout .solfa-slur-underline,
body.print-active-layout .solfa-slur-curve {
  stroke: #000000 !important;
  stroke-width: 1.6pt !important;
  fill: none !important;
}
body.print-active-layout .solfa-slur-underline.tie,
body.print-active-layout .solfa-slur-curve.tie {
  stroke-dasharray: 4 2 !important;
}

/* Linhas de Volta na Impressão */
body.print-active-layout .solfa-system.has-volta {
  margin-top: 18px !important;
}

body.print-active-layout .solfa-system.has-volta .voice-labels-col {
  margin-top: 28px !important;
}

body.print-active-layout .solfa-system.has-volta .measure-header {
  height: 28px !important;
  padding-top: 10px !important;
}

body.print-active-layout .measure-volta-bracket {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 12px !important;
  border-top: 1.6pt solid #000000 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: 0 2px !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

body.print-active-layout .measure-volta-bracket.volta-start {
  border-left: 1.6pt solid #000000 !important;
}

body.print-active-layout .measure-volta-bracket.volta-end {
  border-right: 1.6pt solid #000000 !important;
}

body.print-active-layout .measure-volta-bracket .volta-number {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  color: #000000 !important;
  background: #ffffff !important;
  padding: 0 2px !important;
  line-height: 1 !important;
}

body.print-active-layout .measure-volta-bracket .volta-del-btn {
  display: none !important;
}

/* Sinais de Repetição na Impressão */
body.print-active-layout .measure-repeat-tag {
  background: transparent !important;
  border: none !important;
  color: #000000 !important;
  padding: 0 !important;
  margin-left: auto !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

body.print-active-layout .measure-repeat-tag .marker-del-btn {
  display: none !important;
}

/* Dinâmicas, Articulações e Textos na Impressão */
body.print-active-layout .beat-dynamic-tag {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #000000 !important;
}

body.print-active-layout .beat-dynamic-tag .dynamic-del-btn {
  display: none !important;
}

body.print-active-layout .beat-dynamic-tag .dynamic-symbol {
  color: #000000 !important;
  font-size: 1rem !important;
}

body.print-active-layout .beat-text-tag {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #000000 !important;
}

body.print-active-layout .beat-text-tag .text-del-btn {
  display: none !important;
}

body.print-active-layout .beat-text-tag .text-content {
  color: #000000 !important;
  font-size: 0.88rem !important;
}

body.print-active-layout .note-articulation {
  color: #000000 !important;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 12mm 10mm 12mm;
  }

  /* Força renderização precisa de cores e bordas em todos os navegadores */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    box-sizing: border-box !important;
  }

  /* Oculta todos os elementos de interface web, modais, toolbars e botões */
  .musescore-titlebar,
  .top-navbar,
  .toolbar,
  .virtual-keypad-panel,
  .measure-toolbar,
  .measure-btn-mini,
  .add-measure-trigger,
  .system-break-indicator,
  .cell-inline-input,
  .btn,
  .toast-container,
  .modal-backdrop,
  .sidebar-palettes,
  .no-print {
    display: none !important;
  }

  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
  }

  /* Remove qualquer distorção de zoom/escala aplicada na tela */
  .app-wrapper,
  .main-workspace,
  .workspace-layout,
  .score-scroll-area,
  #scorePaperWrapper,
  .score-paper-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    transform: none !important;
    display: block !important;
    background: #ffffff !important;
  }

  .score-paper,
  .score-page {
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 186mm !important;
    width: 186mm !important;
    min-height: auto !important;
    break-after: page !important;
    page-break-after: always !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

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

  .score-page-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1pt solid #000000 !important;
    padding-bottom: 4pt !important;
    margin-bottom: 10pt !important;
    font-size: 8.5pt !important;
    color: #000000 !important;
  }

  .score-page-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-top: 0.5pt solid #888888 !important;
    padding-top: 4pt !important;
    margin-top: 8pt !important;
    font-size: 7.5pt !important;
    color: #555555 !important;
  }

  /* Cabeçalho da Partitura */
  .score-header-box {
    border-bottom: 2pt solid #000000 !important;
    padding-bottom: 8pt !important;
    margin-bottom: 14pt !important;
  }

  .score-title-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12pt !important;
  }

  .score-hymn-num {
    background: transparent !important;
    border: 1.5pt solid #000000 !important;
    color: #000000 !important;
    font-family: var(--font-heading) !important;
    font-size: 15pt !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 2pt 8pt !important;
    line-height: 1.2 !important;
  }

  .score-main-title {
    color: #000000 !important;
    font-size: 18pt !important;
    font-family: var(--title-font-family, var(--font-heading)) !important;
    margin: 0 !important;
  }

  .score-subtitle {
    color: #222222 !important;
    font-size: 10pt !important;
    margin-top: 2pt !important;
  }

  .score-meta-grid {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    margin-top: 8pt !important;
  }

  .score-key-signature {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 10pt !important;
  }

  .score-credits-right {
    color: #000000 !important;
    font-size: 9pt !important;
    text-align: right !important;
  }

  /* Impressão dos Sistemas de Pauta (SATB) */
  .solfa-system {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-bottom: var(--system-spacing, 10pt) !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    position: relative !important;
  }

  /* Rótulos das Vozes (S, A, T, B, Letra) */
  .voice-labels-col {
    min-width: 28px !important;
    max-width: 34px !important;
    width: 30px !important;
    padding-right: 4px !important;
    border-right: 1.5pt solid #000000 !important;
    user-select: none !important;
    flex-shrink: 0 !important;
    margin-top: 18px !important;
  }

  .voice-label-cell {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 0.72rem !important;
    padding-right: 4px !important;
    border-bottom: none !important;
    justify-content: flex-end !important;
    display: flex !important;
    align-items: center !important;
    height: var(--solfa-row-height, 30px) !important;
  }

  .voice-label-cell.label-lyrics {
    height: var(--lyrics-row-height, 22px) !important;
    font-size: 0.62rem !important;
    font-style: italic !important;
  }

  /* Linha dos Compassos - Preenche a largura da folha A4 com exatidão */
  .solfa-measures-row {
    display: flex !important;
    align-items: flex-start !important;
    flex: 1 1 auto !important;
    width: calc(186mm - 30px) !important;
    gap: 0 !important;
  }

  /* Compasso Individual: remove min-width: 220px para caber perfeitamente na página A4 */
  .solfa-measure {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .measure-header {
    height: 18px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 2px !important;
  }

  .measure-number {
    color: #444444 !important;
    font-size: 0.62rem !important;
    font-weight: 600 !important;
    background: transparent !important;
    padding: 0 2px !important;
  }

  .measure-grid {
    display: flex !important;
    align-items: stretch !important;
    border-right: none !important; /* CRÍTICO: remove borda falsa que ocultava a barra dupla */
    background: transparent !important;
    width: 100% !important;
  }

  .solfa-measure:first-child .measure-grid {
    border-left: none !important; /* A borda direita da coluna de vozes já faz a função de barra inicial */
  }

  /* =========================================================================
     BARRAS DE COMPASSO NA IMPRESSÃO (Suporte a Barra Dupla, Final, Repetições)
     ========================================================================= */
  .measure-barline {
    display: inline-flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    position: relative !important;
    gap: 2.5pt !important;
    padding: 0 1pt !important;
    min-width: 5pt !important;
    flex-shrink: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .measure-barline .bar-stroke {
    display: block !important;
    height: 100% !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    background-color: #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Barra Simples (|) */
  .measure-barline .stroke-thin {
    width: 1.2pt !important;
    min-width: 1.2pt !important;
    background-color: #000000 !important;
    border-left: 1.2pt solid #000000 !important;
  }

  /* Barra Grossa (|] e ritornelos) */
  .measure-barline .stroke-thick {
    width: 3.5pt !important;
    min-width: 3.5pt !important;
    background-color: #000000 !important;
    border-left: 3.5pt solid #000000 !important;
  }

  /* BARRA DUPLA (||) - Visualização impecável de duas linhas paralelas na impressão */
  .measure-barline.bar-type-double {
    gap: 2.8pt !important;
  }
  .measure-barline.bar-type-double .stroke-thin {
    width: 1.2pt !important;
    min-width: 1.2pt !important;
    background-color: #000000 !important;
    border-left: 1.2pt solid #000000 !important;
  }

  /* Barra Final (|]) */
  .measure-barline.bar-type-final {
    gap: 2.8pt !important;
  }

  /* Barra Tracejada (¦) */
  .measure-barline .stroke-dashed {
    width: 0 !important;
    min-width: 0 !important;
    background-color: transparent !important;
    border-right: 1.2pt dashed #000000 !important;
  }

  /* Barra Oculta */
  .measure-barline .stroke-hidden {
    display: none !important;
  }

  /* Pontos de Repetição / Ritornelo */
  .measure-barline .bar-dots {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-evenly !important;
    align-items: center !important;
    padding: 6pt 1pt !important;
  }

  .measure-barline .bar-dots .dot {
    display: block !important;
    width: 3.5pt !important;
    height: 3.5pt !important;
    background-color: #000000 !important;
    border: 1pt solid #000000 !important;
    border-radius: 50% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* =========================================================================
     COLUNAS DE PULSO (BEATS) - LARGURA PROPORCIONAL DINÂMICA NA IMPRESSÃO
     ========================================================================= */
  .solfa-beat-col {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
  }

  .solfa-beat-col.density-0 {
    flex: 0.6 1 0 !important;
    min-width: 12px !important;
  }

  .solfa-beat-col.density-1 {
    flex: 1.0 1 0 !important;
    min-width: 18px !important;
  }

  .solfa-beat-col.density-2 {
    flex: 1.6 1 0 !important;
    min-width: 28px !important;
  }

  .solfa-beat-col.density-3 {
    flex: 2.2 1 0 !important;
    min-width: 38px !important;
  }

  .solfa-beat-col.density-4 {
    flex: 2.9 1 0 !important;
    min-width: 50px !important;
  }

  /* Divisor de Tempo (Dois Pontos ':') */
  .pulse-divider-col {
    width: 9px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-around !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }

  .pulse-divider-dot {
    color: #000000 !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    height: var(--solfa-row-height, 30px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .pulse-divider-dot.dot-lyrics {
    visibility: hidden !important;
    height: var(--lyrics-row-height, 22px) !important;
  }

  .pulse-divider-col.is-half-bar {
    width: 9px !important;
  }

  .pulse-divider-dot.dot-half-bar .half-bar-stroke {
    display: block !important;
    width: 1.5px !important;
    height: calc(var(--solfa-row-height, 30px) * 0.72) !important;
    min-height: 18px !important;
    max-height: 24px !important;
    background-color: #000000 !important;
    border-radius: 0.5px !important;
  }

  /* =========================================================================
     CÉLULAS DE NOTA E LETRA NA IMPRESSÃO
     ========================================================================= */
  .solfa-cell {
    color: #000000 !important;
    border-bottom: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 1px 2px !important;
    white-space: nowrap !important;
    height: var(--solfa-row-height, 30px) !important;
    font-family: var(--solfa-font-family, var(--font-music)) !important;
    font-size: var(--solfa-font-size, 1.25rem) !important;
    font-weight: var(--solfa-font-weight, 600) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .solfa-cell.cell-lyrics {
    height: var(--lyrics-row-height, 22px) !important;
    font-family: var(--lyrics-font-family, var(--font-music)) !important;
    font-size: var(--lyrics-font-size, 0.95rem) !important;
    font-style: var(--lyrics-font-style, italic) !important;
    font-weight: var(--lyrics-font-weight, 400) !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .solfa-cell .note-part,
  .solfa-cell .lyric-subcell {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: none !important;
    background: transparent !important;
    white-space: nowrap !important;
  }

  .lyric-subcell.single-syl {
    width: 100% !important;
  }

  .lyric-subcell.lyric-rest,
  .lyric-subcell.lyric-placeholder,
  .lyric-subcell-sep {
    visibility: hidden !important;
  }

  .btn-add-system-lyrics,
  .btn-hide-system-lyrics {
    display: none !important;
  }

  .solfa-cell.selected {
    background-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .solfa-cell.selected::after,
  .note-part.active-subnote::after,
  .lyric-subcell.active-sublyric::after {
    display: none !important;
  }

  .solfa-cell.active-playback {
    background-color: transparent !important;
  }

  .note-part.active-subnote {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .oct-high {
    display: inline-block !important;
    position: relative !important;
    top: -0.44em !important;
    font-size: 0.78em !important;
    color: #000000 !important;
    font-weight: 800 !important;
    line-height: 0.6 !important;
  }

  .oct-low {
    display: inline-block !important;
    position: relative !important;
    top: 7.0px !important;
    width: 1.6px !important;
    height: 0.46em !important;
    background-color: #000000 !important;
    vertical-align: -0.15em !important;
    margin-left: 0.6px !important;
    border-radius: 0.2px !important;
    line-height: 1 !important;
  }

  .note-sep {
    color: #000000 !important;
    font-weight: 800 !important;
    font-family: var(--font-music) !important;
  }

  .note-sep.note-dot,
  .note-sep.note-dotcomma,
  .note-sep.note-commadot {
    margin: 0 2px !important;
  }

  .note-sep.note-comma {
    margin: 0 1.5px !important;
  }

  .note-dash {
    color: #000000 !important;
    font-weight: 700 !important;
  }

  .note-dash.note-dash-full {
    min-width: 18px !important;
    letter-spacing: 2px !important;
    font-size: 1.1em !important;
  }

  .note-dash.note-dash-sub {
    width: 10px !important;
    max-width: 12px !important;
    letter-spacing: normal !important;
    font-size: 0.95em !important;
    vertical-align: middle !important;
  }

  .note-part.note-rest {
    display: inline-block !important;
  }

  .note-part.note-rest-half {
    min-width: 10px !important;
    width: 10px !important;
  }

  .note-part.note-rest-dotted {
    min-width: 16px !important;
    width: 16px !important;
  }

  .note-part.note-rest-quarter {
    min-width: 7px !important;
    width: 7px !important;
  }

  /* Ligaduras e Melismas em SVG na Impressão */
  .system-slurs-svg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    z-index: 10 !important;
    pointer-events: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .solfa-slur-underline,
  .solfa-slur-curve {
    stroke: #000000 !important;
    stroke-width: 1.6pt !important;
    fill: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .solfa-slur-underline.tie,
  .solfa-slur-curve.tie {
    stroke-dasharray: 4 2 !important;
  }

  /* Linhas de Volta na Impressão */
  .solfa-system.has-volta {
    margin-top: 18px !important;
  }

  .solfa-system.has-volta .voice-labels-col {
    margin-top: 28px !important;
  }

  .solfa-system.has-volta .measure-header {
    height: 28px !important;
    padding-top: 10px !important;
  }

  .measure-volta-bracket {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 12px !important;
    border-top: 1.6pt solid #000000 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 0 2px !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .measure-volta-bracket.volta-start {
    border-left: 1.6pt solid #000000 !important;
  }

  .measure-volta-bracket.volta-end {
    border-right: 1.6pt solid #000000 !important;
  }

  .measure-volta-bracket .volta-number {
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    color: #000000 !important;
    background: #ffffff !important;
    padding: 0 2px !important;
    line-height: 1 !important;
  }

  .measure-volta-bracket .volta-del-btn {
    display: none !important;
  }

  /* Sinais de Repetição na Impressão */
  .measure-repeat-tag {
    background: transparent !important;
    border: none !important;
    color: #000000 !important;
    padding: 0 !important;
    margin-left: auto !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .measure-repeat-tag .marker-del-btn {
    display: none !important;
  }

  /* Dinâmicas, Articulações e Textos na Impressão */
  .beat-dynamic-tag {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #000000 !important;
  }

  .beat-dynamic-tag .dynamic-del-btn {
    display: none !important;
  }

  .beat-dynamic-tag .dynamic-symbol {
    color: #000000 !important;
    font-size: 1rem !important;
  }

  .beat-text-tag {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #000000 !important;
  }

  .beat-text-tag .text-del-btn {
    display: none !important;
  }

  .beat-text-tag .text-content {
    color: #000000 !important;
    font-size: 0.88rem !important;
  }

  .note-articulation {
    color: #000000 !important;
  }
}
