.disc-student-report { border-bottom: 1px solid #ccd9df; margin-bottom: 18px; padding-bottom: 16px; }
.disc-student-report h3 { margin: 0 0 12px; font-size: 1rem; }
.disc-report-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; }
.disc-report-filters label { display: grid; gap: 6px; min-width: 0; margin: 0; font-size: .8rem; }
.disc-report-filters :is(input, select) { width: 100%; min-width: 0; min-height: 44px; margin: 0; font-size: .85rem; }
.disc-report-filters label[hidden] { display: none; }
.disc-report-wide { grid-column: span 2; }
.disc-report-actions { display: flex; justify-content: end; grid-column: 1 / -1; }
.disc-report-actions button { min-height: 44px; margin: 0; }
.disc-report-feedback { color: #8b2430; padding: 8px 0; font-size: .85rem; }
.disc-report-dialog { width: min(1040px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #9fb8c5; border-radius: 6px; background: #fff; color: #19394e; }
.disc-report-dialog[open] { display: flex; flex-direction: column; }
.disc-report-dialog::backdrop { background: #17334299; backdrop-filter: blur(3px); }
.disc-report-dialog > header, .disc-report-dialog > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; flex-shrink: 0; background: #f2f7f9; }
.disc-report-dialog > header { align-items: start; border-bottom: 1px solid #cbd8e0; }
.disc-report-dialog > footer > span { flex: 1; }
.disc-report-dialog [data-export] { width: auto; min-width: 150px; margin: 0; }
.disc-report-dialog h2 { font-size: 1.15rem; margin: 0 0 6px; }
.disc-report-dialog p { font-size: .9rem; margin: 0 0 4px; overflow-wrap: anywhere; }
.disc-report-dialog small { display: block; font-size: .75rem; }
.disc-report-dialog .btn-icon { flex: 0 0 40px; width: 40px; height: 40px; margin: 0; }
.disc-report-preview-body { overflow: auto; min-height: 0; }
.disc-report-preview-body table { width: 100%; min-width: 660px; border-collapse: collapse; font-size: .85rem; }
.disc-report-preview-body th { position: sticky; top: 0; background: #194d65; color: #fff; z-index: 1; }
.disc-report-preview-body :is(th, td) { padding: 10px 12px; border-bottom: 1px solid #dbe5ea; text-align: left; }
.disc-report-preview-body tbody tr:nth-child(even) { background: #f5f8fa; }
.disc-report-pager { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 6px; }
.disc-report-dialog > .disc-report-feedback { padding: 0 16px 8px; }
@media (max-width: 700px) {
  .disc-report-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .disc-report-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .disc-report-dialog > header, .disc-report-dialog > footer { padding: 12px; gap: 8px; }
}
@media (max-width: 400px) {
  .disc-report-filters { grid-template-columns: minmax(0, 1fr); }
  .disc-report-wide { grid-column: auto; }
  .disc-report-dialog > footer { flex-wrap: wrap; }
}
