.assessment-grades{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px}.assessment-grades>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.assessment-grades h2{font:700 20px Manrope;margin:3px 0}.assessment-grades header span,.assessment-grades header small{color:var(--muted)}.assessment-grades header>div:last-child{display:flex;align-items:center;gap:8px}.assessment-grades button,.assessment-grades header a{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:8px;padding:8px 10px;font-weight:700;text-decoration:none;cursor:pointer}.assessment-grades button.published{background:var(--mint)}.grades-table{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.grade-row{display:grid;grid-template-columns:1.3fr .7fr .6fr .8fr;gap:10px;align-items:center;padding:11px 13px;border-top:1px solid var(--line);font-size:13px}.grade-row.heading{border:0;background:#f3f6f4;color:var(--muted);font-size:11px;font-weight:700}.grade-row form{margin:0}@media(max-width:700px){.assessment-grades>header{align-items:flex-start;flex-direction:column}.grades-table{overflow-x:auto}.grade-row{min-width:650px}}

.assessment-grade-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto auto; align-items: end; gap: 12px; margin: 8px 0 10px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.assessment-grade-filters select { width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fbfcfb; color: var(--ink); font: inherit; font-size: 13px; }
.assessment-grade-filters > button { min-height: 42px; white-space: nowrap; }
.assessment-grade-filters > a { align-self: center; color: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.assessment-grade-filters > a:hover { text-decoration: underline; }
.assessment-filter-count { margin: 0 0 15px; color: var(--muted); font-size: 13px; }
.assessment-filter-note { padding: 11px 13px; border-radius: 9px; background: #fff3df; color: #80531a; font-size: 13px; }
@media (max-width: 1000px) { .assessment-grade-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 650px) { .assessment-grade-filters { grid-template-columns: 1fr; padding: 15px; } .assessment-grade-filters > a { justify-self: start; } }
