.gradebooks { margin-top: 24px; padding: 24px; background: #fff; letter-spacing: 0; }
.gradebook-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.gradebooks h2 { font-size: 24px; margin: 0; letter-spacing: 0; }
.gradebooks h3 { font-size: 18px; margin: 0; letter-spacing: 0; overflow-wrap: anywhere; }
.gradebooks a { color: #173eac; }
.gradebooks .download-button { color: #fff; }
.gradebook-alert { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 24px; padding: 16px 18px; border: 1px solid #efd391; border-left: 4px solid #d79a24; border-radius: 8px; background: #fff8e8; color: #714d0d; }
.gradebook-alert-icon { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; border: 1.5px solid #b7811a; border-radius: 50%; font-size: 14px; font-weight: 700; line-height: 1; }
.gradebook-alert p { margin: 0; font-size: 14px; line-height: 1.65; }
.gradebook-alert strong { font-weight: 700; }
.gradebook-modes { display: flex; flex-wrap: wrap; gap: 4px 20px; border-bottom: 1px solid #dce1e8; margin-bottom: 24px; }
.gradebook-modes button { border: 0; border-bottom: 3px solid transparent; background: none; color: #505969; padding: 12px 0; font: inherit; cursor: pointer; text-align: left; }
.gradebook-modes button[aria-selected="true"] { color: #173eac; border-bottom-color: #173eac; font-weight: 600; }
.gradebook-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.gradebooks .field-group { min-width: 0; }
.gradebooks input, .gradebooks select { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #b7c0cb; border-radius: 6px; background: #fff; color: #202936; padding: 11px; font: inherit; }
.gradebooks input::file-selector-button { border: 0; border-radius: 4px; padding: 6px 10px; margin-right: 12px; background: #edf1f6; color: #202936; cursor: pointer; }
.gradebooks small { color: #5e6875; line-height: 1.5; }
.gradebook-form-footer { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; }
.gradebooks .primary-button { min-height: 46px; width: auto; padding: 12px 20px; font-size: 16px; border-radius: 6px; }
.gradebook-section { border-top: 1px solid #dce1e8; margin-top: 28px; padding-top: 24px; }
.gradebook-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 20px; margin: 24px 0; }
.gradebook-stats strong { display: block; font-size: 26px; margin-bottom: 6px; color: #176b53; }
.gradebook-stats span { font-size: 14px; color: #505969; }
.gradebook-files { min-width: 580px; width: 100%; border-collapse: collapse; }
.gradebook-files th, .gradebook-files td { text-align: left; padding: 12px; border-bottom: 1px solid #e2e6eb; font-size: 14px; }
.gradebook-files td:first-child { max-width: 380px; overflow-wrap: anywhere; }
.gradebook-file-actions { display: flex; gap: 14px; align-items: center; }
.gradebooks .text-button { border-radius: 6px; font-size: 14px; white-space: normal; }
.gradebooks .table-shell { width: 100%; max-height: 520px; overflow: auto; }
.gradebooks .form-error:empty { display: none; }
#gradebookPreviewTable th { min-width: 180px; max-width: 220px; vertical-align: top; }
.gradebook-column-label { display: block; max-height: 88px; overflow: auto; font-size: 12px; line-height: 1.5; letter-spacing: 0; }
.gradebook-history { display: grid; gap: 0; }
.gradebook-history button { display: flex; justify-content: space-between; gap: 16px; width: 100%; text-align: left; border: 0; border-bottom: 1px solid #e2e6eb; background: #fff; color: #364153; font: inherit; font-size: 14px; padding: 14px 0; cursor: pointer; }
.gradebook-history button:hover { background: #f4f7fa; }
.gradebook-history button[aria-current="true"] { color: #173eac; font-weight: 600; }
.gradebooks .progress-bar.failed span { background: #bd3548; animation: none; width: 100%; }
@media (max-width: 620px) {
  .workspace-tabs { flex-wrap: wrap; overflow: visible; }
  .gradebooks { padding: 18px 12px; }
  .gradebook-form { grid-template-columns: minmax(0, 1fr); }
  .gradebook-heading, .gradebook-form-footer { align-items: flex-start; flex-direction: column; }
  .gradebooks h2 { font-size: 22px; }
  .gradebook-modes { column-gap: 16px; }
  .gradebook-history button { flex-direction: column; gap: 6px; }
}
