#pbSongReportEntry { display: none; }
body.pb-song-mode:not(.pb-admin):not(.pb-practice):not(.pb-rehearsal-mode):not(.pb-concert-mode) #pbSongReportEntry { display: block; text-align: left; padding: 8px 68px 8px 12px; }
#pbSongReportOpen { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 9px; max-width: 100%; min-height: 44px; padding: 10px 15px; border: 1px solid #e8621b; border-radius: 10px; background: #fff0e6; color: #a83b08; font: 700 14px/1.4 var(--drumix-font-sans, sans-serif); text-decoration: none; cursor: pointer; }
#pbSongReportOpen:hover { background: #ffe1ca; border-color: #c94b1e; }
.pbSongReportIcon { display: inline-flex; flex: 0 0 20px; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1.5px solid currentColor; border-radius: 50%; font: 800 14px/1 var(--drumix-font-sans, sans-serif); }
body.pb-student-dark #pbSongReportOpen { background: #39291f; color: #ffbd8f; border-color: #ed934e; }
body.pb-student-dark #pbSongReportOpen:hover { background: #4b3221; }
@media (max-width: 1023px) {
  body.pb-song-mode:not(.pb-admin):not(.pb-practice):not(.pb-rehearsal-mode):not(.pb-concert-mode) #pbSongReportEntry { padding: 8px 12px; }
  #pbSongReportOpen { width: 100%; }
}
#pbSongReportDialog { box-sizing: border-box; width: min(480px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: auto; margin: auto; padding: 22px; border: 1px solid var(--drumix-color-border, #ddd); border-radius: 16px; background: var(--drumix-color-surface, #fff); color: var(--drumix-color-text, #24262c); font: 14px/1.5 var(--drumix-font-sans, sans-serif); }
#pbSongReportDialog::backdrop { background: #0009; }
#pbSongReportDialog h2 { margin: 0 0 8px; font-size: 21px; color: inherit; }
#pbSongReportDialog form { margin: 0; }
#pbSongReportDialog label { display: block; margin: 12px 0; }
#pbSongReportDialog select, #pbSongReportDialog input, #pbSongReportDialog textarea { box-sizing: border-box; display: block; width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--drumix-color-border, #ddd); border-radius: 8px; background: var(--drumix-color-surface-soft, #f3f4f6); color: inherit; font: inherit; font-size: 16px; }
#pbSongReportDialog textarea { min-height: 88px; resize: vertical; }
.pbReportRange, .pbReportActions { display: flex; gap: 12px; }
.pbReportRange label { flex: 1; min-width: 0; }
.pbReportActions button { flex: 1; min-height: 44px; padding: 10px; border: 1px solid var(--drumix-color-border, #ddd); border-radius: 9px; background: var(--drumix-color-surface-soft, #f3f4f6); color: inherit; font: inherit; cursor: pointer; }
.pbReportActions button[type=submit] { background: #e8621b; border-color: #e8621b; color: white; }
#pbSongReportDialog button:disabled { opacity: .6; cursor: default; }
#pbReportContext { overflow-wrap: anywhere; color: var(--drumix-color-muted, #646b78); }
#pbReportStatus { min-height: 24px; }
#pbReportLogin { color: inherit; }
#pbSongReportDialog :focus-visible, #pbSongReportOpen:focus-visible { outline: 2px solid #f27738; outline-offset: 2px; }
@media print { #pbSongReportEntry, #pbSongReportDialog { display: none !important; } }
