.page.assignment-grades-page { max-width: none; padding: 52px 35px 48px; background: #f8f8f8; color: #676a6c; font: 300 14px/21px Lexend,sans-serif; }
.ag-toolbar { display: flex; justify-content: flex-end; gap: 6px; margin: 0 0 16px; }
.ag-toolbar button { padding: 5px 10px; border: 1px solid #1c84c6; border-radius: 3px; background: #fff; color: #1c84c6; font: 400 14px/21px Lexend,sans-serif; }
.ag-toolbar [data-ag-add] { border-color: #005be8; background: #005be8; color: #fff; }
.ag-table-wrap { width: 100%; overflow-x: auto; }
.ag-table { width: 100%; border-collapse: collapse; border: 1px solid #ebebeb; background: #fff; }
.ag-table th, .ag-table td { padding: 10px; border: 1px solid #ebebeb; text-align: left; }
.ag-table th { background: #ededed; color: #000; font-weight: 700; }
.ag-table td button { margin-right: 5px; padding: 3px 8px; border: 1px solid #1c84c6; border-radius: 3px; background: #fff; color: #1c84c6; }
.ag-dialog { position: fixed; top: 28px; left: 50%; transform: translateX(-50%); width: min(1140px, calc(100vw - 24px)); margin: 0; padding: 0; border: 1px solid transparent; border-radius: 4px; background: #fff; color: #676a6c; font: 300 14px/21px Lexend,sans-serif; }
.ag-dialog::backdrop, .ag-confirm::backdrop { background: rgba(0,0,0,.4); }
.ag-modal-header { height: 60px; padding: 10px 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5e5e5; }
.ag-modal-header strong { color: #000; font: 400 26px/39px Lexend,sans-serif; }
.ag-modal-header button { padding: 0 8px; border: 0; background: transparent; color: #000; font-size: 24px; }
.ag-modal-body { min-height: 53px; padding: 12px 30px; background: #f8fafb; }
.ag-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ag-fields label { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.ag-fields input { min-width: 0; width: 100%; height: 35px; padding: 6px 12px; border: 1px solid #e5e6e7; background: #fff; color: #676a6c; font: 400 14px/21px Lexend,sans-serif; }
.ag-modal-footer { min-height: 70px; padding: 12px 27px; display: flex; justify-content: flex-end; align-items: center; gap: 7px; }
.ag-modal-footer button { padding: 6px 12px; border: 1px solid #005be8; border-radius: 3px; background: #fff; color: #005be8; font: 400 14px/21px Lexend,sans-serif; }
.ag-modal-footer [type="submit"], .ag-modal-footer [data-ag-assign] { background: #005be8; color: #fff; }
.ag-modal-footer button:disabled { opacity: .55; }
.ag-warning, .ag-error, .ag-notice { margin: 0 0 10px; padding: 7px 10px; border: 1px solid; border-radius: 2px; }
.ag-warning, .ag-error { border-color: #e9bdc3; background: #fff4f5; color: #a12731; }
.ag-notice { border-color: #b9dbca; background: #f2fbf5; color: #267044; }
.ag-confirm { top: 50%; left: 50%; transform: translate(-50%,-50%); width: min(440px,calc(100vw - 24px)); margin: 0; padding: 25px; border: 0; border-radius: 5px; background: #fff; text-align: center; }
.ag-confirm h2 { margin: 0 0 18px; font-size: 22px; }.ag-confirm p { margin-bottom: 24px; }
.ag-confirm button { margin: 0 5px; padding: 8px 20px; border: 0; border-radius: 3px; background: #005be8; color: #fff; }.ag-confirm [data-ag-delete-cancel] { background: #e7eaf0; color: #263243; }
@media (max-width: 700px) { .page.assignment-grades-page { padding: 24px 13px; }.ag-fields { grid-template-columns: 1fr; }.ag-table { min-width: 550px; }.ag-modal-body { max-height: 60vh; overflow-y: auto; } }
