.dash-back-link{display:inline-flex;align-items:center;gap:var(--gap-xs);font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:var(--gap-sm);transition:color .15s}.dash-back-link:hover{color:var(--color-primary)}.assignment-layout{display:flex;flex-direction:column;gap:var(--gap-xl)}.assignment-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg)}.assignment-form .form-group{display:flex;flex-direction:column;gap:var(--gap-xs)}.assignment-form label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-dark)}.assignment-form input[type=text],.assignment-form input[type=number],.assignment-form input[type=datetime-local],.assignment-form textarea{padding:.65rem 1rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-dark);background:var(--color-white);transition:border-color .15s;width:100%}.assignment-form input:focus,.assignment-form textarea:focus{outline:none;border-color:var(--color-primary)}.assignment-form textarea{resize:vertical}.form-group__actions{display:flex;gap:var(--gap-md);align-items:center;margin-top:var(--gap-md)}.submissions-list{display:flex;flex-direction:column;gap:var(--gap-md)}.submission-item{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--gap-lg);display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--gap-md);transition:border-color .15s}.submission-item--graded{border-color:#bbf7d0;background-color:#f0fdf4}.submission-item__info{display:flex;align-items:flex-start;gap:var(--gap-md);flex:1}.submission-item__avatar{width:42px;height:42px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-weight:700;font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;flex-shrink:0}.submission-item__info strong{display:block;font-size:var(--font-size-sm);color:var(--color-dark)}.submission-item__info .text-muted{font-size:var(--font-size-xs)}.submission-item__meta{display:flex;flex-wrap:wrap;gap:var(--gap-md);margin-top:var(--gap-xs)}.submission-item__meta span{display:flex;align-items:center;gap:var(--gap-xs);font-size:var(--font-size-xs);color:var(--color-muted)}.submission-item__right{display:flex;align-items:center;gap:var(--gap-sm);flex-shrink:0}.grade-form{width:100%;background-color:var(--color-light);border-radius:var(--border-radius-md);padding:var(--gap-lg);margin-top:var(--gap-sm)}.grade-form .form-row{display:grid;grid-template-columns:auto 1fr;gap:var(--gap-lg);align-items:end;margin-bottom:var(--gap-md)}.grade-form .form-group{display:flex;flex-direction:column;gap:var(--gap-xs)}.grade-form label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-dark)}.grade-form input,.grade-form textarea{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--color-white);color:var(--color-dark)}.grade-form input:focus,.grade-form textarea:focus{outline:none;border-color:var(--color-primary)}.grade-form textarea{resize:vertical}.assignment-instructions{font-size:var(--font-size-base);line-height:1.8;color:var(--color-dark);margin-bottom:var(--gap-xl);padding-bottom:var(--gap-xl);border-bottom:1px solid var(--color-border)}.assignment-meta{display:flex;flex-wrap:wrap;gap:var(--gap-xl)}.assignment-meta__item{display:flex;align-items:center;gap:var(--gap-md);font-size:var(--font-size-sm)}.assignment-meta__item>i{font-size:1.4rem;color:var(--color-primary)}.assignment-meta__item span{display:block;font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px}.assignment-meta__item strong{display:block;color:var(--color-dark)}.assignment-meta__item--danger>i{color:var(--color-danger)}.submission-status{border-left:4px solid var(--color-muted)}.submission-status--graded{border-left-color:var(--color-primary)}.submission-status--pending{border-left-color:#f59e0b}.submission-info{display:flex;align-items:center;gap:var(--gap-xl);margin-bottom:var(--gap-md)}.submission-info__file{display:flex;align-items:center;gap:var(--gap-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--color-dark)}.submission-info__file i{color:var(--color-primary);font-size:var(--font-size-lg)}.submission-note{font-size:var(--font-size-sm);color:var(--color-muted);display:flex;align-items:flex-start;gap:var(--gap-sm);margin-bottom:var(--gap-md)}.submission-grade{display:flex;align-items:center;gap:var(--gap-xl);background:var(--color-light);border-radius:var(--border-radius-lg);padding:var(--gap-lg);margin-top:var(--gap-md)}.submission-grade__score{display:flex;align-items:baseline;gap:.25rem;flex-shrink:0}.submission-grade__score span{font-size:3rem;font-weight:800;color:var(--color-primary);line-height:1}.submission-grade__score small{font-size:var(--font-size-base);color:var(--color-muted)}.submission-grade__info strong{display:block;font-size:var(--font-size-sm);color:var(--color-dark);margin-bottom:var(--gap-xs)}.submission-grade__info p{font-size:var(--font-size-sm);color:var(--color-muted);line-height:1.6}.file-upload-area{position:relative;border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);padding:2.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.file-upload-area:hover,.file-upload-area.dragover{border-color:var(--color-primary);background:var(--color-primary-light)}.file-upload-area i{font-size:2.5rem;color:var(--color-muted);display:block;margin-bottom:var(--gap-sm)}.file-upload-area p{font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:var(--gap-xs)}.file-upload-area p span{color:var(--color-primary);font-weight:600;cursor:pointer}.file-upload-area small{font-size:var(--font-size-xs);color:var(--color-muted)}.file-upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-upload-area__chosen{display:flex;align-items:center;justify-content:center;gap:var(--gap-sm);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:600;margin-top:var(--gap-md)}@media(max-width:768px){.assignment-form .form-row{grid-template-columns:1fr}.assignment-meta{gap:var(--gap-lg)}.submission-item{flex-direction:column}.submission-item__right{flex-wrap:wrap}.submission-grade{flex-direction:column;text-align:center}.grade-form .form-row{grid-template-columns:1fr}}
