.submissions-page { min-height: calc(100vh - 80px); padding: 2rem; background: #f8fafc; } .submissions-container { max-width: 800px; margin: 0 auto; background: white; padding: 2rem; border-radius: 20px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } .submissions-container h2 { font-size: 2rem; color: #1a1a1a; margin-bottom: 2rem; text-align: center; } .upload-section { margin-bottom: 2rem; } .upload-box { border: 2px dashed #e2e8f0; border-radius: 12px; padding: 2rem; text-align: center; background: #f8fafc; transition: all 0.3s ease; } .upload-box:hover { border-color: #3b82f6; background: #f0f7ff; } .file-input { display: none; } .upload-label { display: flex; flex-direction: column; align-items: center; gap: 1rem; cursor: pointer; } .upload-label i { font-size: 2.5rem; color: #3b82f6; } .upload-label span { color: #64748b; font-size: 1.1rem; } .upload-hint { font-size: 0.9rem !important; color: #94a3b8 !important; } .submissions-list { display: grid; gap: 1rem; margin-top: 2rem; } .submission-item { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; background: white; border: 1px solid #e2e8f0; border-radius: 10px; transition: all 0.2s ease; } .submission-item:hover { border-color: #cbd5e1; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .submission-info { display: flex; align-items: center; gap: 1rem; flex-grow: 1; } .file-icon { font-size: 1.5rem; color: #3b82f6; } .submission-details { display: flex; align-items: center; gap: 1.5rem; } .file-name { font-size: 1rem; color: #1e293b; } .pennid-input { padding: 0.5rem 1rem; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 0.95rem; width: 150px; transition: all 0.2s ease; } .pennid-input:focus { border-color: #3b82f6; outline: none; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .remove-btn { background: none; border: none; color: #ef4444; cursor: pointer; padding: 0.5rem; border-radius: 50%; transition: all 0.2s ease; } .remove-btn:hover { background: #fef2f2; } .grading-controls { margin-top: 2rem; text-align: center; } .grade-btn { background: #3b82f6; color: white; border: none; padding: 1rem 2.5rem; border-radius: 8px; font-size: 1.1rem; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 0.75rem; transition: all 0.2s ease; } .grade-btn:hover:not(:disabled) { background: #2563eb; transform: translateY(-1px); } .grade-btn:disabled { opacity: 0.7; cursor: not-allowed; } .warning-text { color: #dc2626; font-size: 0.9rem; margin-top: 1rem; }