.form-field {
    margin-bottom: 1rem;
}
.form-field label {
    font-weight: 600;
    display: block;
    margin-bottom: 0.25rem;
}
.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 0.9rem;
}
.validation-message {
    font-size: 0.8rem;
    margin-top: 0.25rem;
}
.validation-error {
    color: #dc3545;
}
.validation-warn {
    color: #fd7e14;
}
.validation-ok {
    color: #28a745;
}
.schedule-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem;
}
.schedule-day {
    font-weight: 600;
    text-align: center;
}
.schedule-slot {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 0.25rem;
    text-align: center;
    cursor: pointer;
}
.schedule-slot.selected {
    background-color: #0d6efd;
    color: #fff;
}
.large-multiselect {
    height: 200px;
}
.schedule-slot {
    display:inline-block;
    width:100%;
}
.hg-list {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}
.hg-list label {
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}

.course-list {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}
.course-list label{
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}
.clearable-file-input {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap; 
  }
  
  .clearable-file-input .clear-file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
  }
  
  .clearable-file-input .clear-file input[type="checkbox"] {
    margin: 0;
  }
  
  .clearable-file-input .current-file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }